🔍 CVE-2024-24749

7.5
CVSS Score
HIGH
2024-07-01
2026-06-17 07:14
✅ 완료

🇰🇷 한글 설명

Windows 환경의 Apache Tomcat에서 실행되는 GeoServer의 GeoWebCache ByteStreamController 클래스에서 입력 검증 우회 취약점이 발견되었습니다. 이를 통해 공격자는 특정 확장자를 가진 임의의 클래스패스 리소스를 읽을 수 있으며, 데이터 디렉토리가 내장된 WAR 형태로 배포된 경우 관리자 권한 탈취로 이어질 수 있습니다.

💡 쉬운 설명

해커가 GeoServer의 보안 허점을 이용해 서버 내부의 중요한 설정 파일을 몰래 읽어낼 수 있는 문제입니다. 특히 특정 설정으로 설치된 경우 관리자 권한까지 뺏길 위험이 있습니다.

🇺🇸 원문 (English)

GeoServer is an open source server that allows users to share and edit geospatial data. Prior to versions 2.23.5 and 2.24.3, if GeoServer is deployed in the Windows operating system using an Apache Tomcat web application server, it is possible to bypass existing input validation in the GeoWebCache ByteStreamController class and read arbitrary classpath resources with specific file name extensions. If GeoServer is also deployed as a web archive using the data directory embedded in the `geoserver.war` file (rather than an external data directory), it will likely be possible to read specific resources to gain administrator privileges. However, it is very unlikely that production environments will be using the embedded data directory since, depending on how GeoServer is deployed, it will be erased and re-installed (which would also reset to the default password) either every time the server restarts or every time a new GeoServer WAR is installed and is therefore difficult to maintain. An external data directory will always be used if GeoServer is running in standalone mode (via an installer or a binary). Versions 2.23.5 and 2.24.3 contain a patch for the issue. Some workarounds are available. One may change from a Windows environment to a Linux environment; or change from Apache Tomcat to Jetty application server. One may also disable anonymous access to the embeded GeoWebCache administration and status pages.

📍 영향받는 시스템

GeoServer 2.23.5 및 2.24.3 미만 버전 (Windows + Apache Tomcat 환경)

⚔️ 공격 벡터

GeoWebCache ByteStreamController의 입력 검증 우회를 통한 임의 리소스 읽기

🛡️ 대응 방법

GeoServer를 2.23.5 또는 2.24.3 이상 버전으로 업데이트하거나, 운영체제를 Linux로 변경 또는 Jetty 서버 사용을 권장합니다.

🔧 검증 코드

명령어 결과에 취약한 버전 번호가 출력되면 해당 취약점에 노출된 상태입니다.

Shell / Script
curl -s http://<target-ip>/geoserver/version | grep -E '2.23.[0-4]|2.24.[0-2]'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

💻 영향받는 소프트웨어

Apache Tomcat