🔍 CVE-2024-34696

4.5
CVSS Score
MEDIUM
2024-07-01
2026-06-17 07:33
✅ 완료

🇰🇷 한글 설명

GeoServer의 서버 상태 페이지 및 REST API가 관리자 권한을 가진 사용자에게 모든 환경 변수와 Java 속성을 노출하는 취약점입니다. 이 변수들에는 데이터베이스 비밀번호나 API 키와 같은 민감한 정보가 포함될 수 있으며, 특히 일부 컨테이너 이미지 환경에서 위험도가 높습니다.

💡 쉬운 설명

관리자 권한을 가진 사용자가 실수로 시스템의 중요한 비밀번호나 열쇠 정보를 볼 수 있는 보안 허점이 발견되었습니다. 이를 통해 공격자가 시스템의 핵심 데이터에 접근할 위험이 있습니다.

🇺🇸 원문 (English)

GeoServer is an open source server that allows users to share and edit geospatial data. Starting in version 2.10.0 and prior to versions 2.24.4 and 2.25.1, GeoServer's Server Status page and REST API lists all environment variables and Java properties to any GeoServer user with administrative rights as part of those modules' status message. These variables/properties can also contain sensitive information, such as database passwords or API keys/tokens. Additionally, many community-developed GeoServer container images `export` other credentials from their start-up scripts as environment variables to the GeoServer (`java`) process. The precise scope of the issue depends on which container image is used and how it is configured. The `about status` API endpoint which powers the Server Status page is only available to administrators.Depending on the operating environment, administrators might have legitimate access to credentials in other ways, but this issue defeats more sophisticated controls (like break-glass access to secrets or role accounts).By default, GeoServer only allows same-origin authenticated API access. This limits the scope for a third-party attacker to use an administrator’s credentials to gain access to credentials. The researchers who found the vulnerability were unable to determine any other conditions under which the GeoServer REST API may be available more broadly. Users should update container images to use GeoServer 2.24.4 or 2.25.1 to get the bug fix. As a workaround, leave environment variables and Java system properties hidden by default. Those who provide the option to re-enable it should communicate the impact and risks so that users can make an informed choice.

📍 영향받는 시스템

GeoServer 2.10.0 이상 ~ 2.24.4 미만 및 2.25.1 미만 버전

⚔️ 공격 벡터

관리자 권한을 탈취하거나 권한이 있는 사용자가 'about status' API 엔드포인트를 통해 민감한 환경 변수를 조회

🛡️ 대응 방법

GeoServer를 2.24.4 또는 2.25.1 이상의 버전으로 업데이트하거나 환경 변수 노출 설정을 비활성화

🔧 검증 코드

명령어 실행 결과에 시스템 환경 변수나 Java 속성 값이 포함되어 출력되면 취약한 상태입니다.

Shell / Script
curl -u admin:password -X GET http://<geoserver-url>/geoserver/rest/status.json 2>/dev/null | grep -E 'env|property'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Spring Data REST