🇰🇷 한글 설명
GeoServer의 특정 버전에서 발생하는 임의 파일 업로드 취약점으로, 인증된 관리자가 REST Coverage Store API를 통해 임의의 파일 내용을 원하는 경로에 업로드할 수 있습니다. 절대 경로를 사용하는 Coverage Store 설정 시 경로 탐색(Path Traversal) 방지가 이루어지지 않아 원격 코드 실행(RCE)이나 권한 상승이 가능합니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 서버의 보안 설정 파일을 덮어쓰거나 악성 파일을 올려서 서버를 마음대로 조종할 수 있는 문제입니다. 특히 파일 경로를 지정하는 방식의 허점을 이용해 시스템의 중요한 위치에 파일을 심을 수 있습니다.
🇺🇸 원문 (English)
GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. An arbitrary file upload vulnerability exists in versions prior to 2.23.4 and 2.24.1 that enables an authenticated administrator with permissions to modify coverage stores through the REST Coverage Store API to upload arbitrary file contents to arbitrary file locations which can lead to remote code execution. Coverage stores that are configured using relative paths use a GeoServer Resource implementation that has validation to prevent path traversal but coverage stores that are configured using absolute paths use a different Resource implementation that does not prevent path traversal. This vulnerability can lead to executing arbitrary code. An administrator with limited privileges could also potentially exploit this to overwrite GeoServer security files and obtain full administrator privileges. Versions 2.23.4 and 2.24.1 contain a fix for this issue.
📍 영향받는 시스템
GeoServer 2.23.4 및 2.24.1 미만 버전
⚔️ 공격 벡터
인증된 관리자가 REST Coverage Store API를 사용하여 경로 탐색(Path Traversal) 공격을 통한 임의 파일 업로드
🛡️ 대응 방법
GeoServer를 최신 보안 패치가 적용된 버전(2.23.4 또는 2.24.1 이상)으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 번호가 출력되면 해당 시스템은 보안 업데이트가 필요한 상태입니다.
curl -s http://<geoserver-url>/geoserver/version | grep -E '2.23\.[0-3]|2.24\.[0-3]'