🔍 CVE-2023-28442

7.5
CVSS Score
HIGH
2023-03-24
2026-06-17 05:47
✅ 완료

🇰🇷 한글 설명

GeoNode의 특정 버전에서 익명 사용자가 Geoserver REST API 엔드포인트를 통해 민감한 설정 정보를 탈취할 수 있는 취약점이 발견되었습니다. 이 문제는 GeoNode의 공개 서비스 지원을 위해 Geoserver의 일부 REST 엔드포인트가 개방되어 발생하며, GeoNode 3 및 4 인스턴스 모두에 영향을 미칩니다.

💡 쉬운 설명

인터넷에 공개된 지리 정보 플랫폼에서 로그인하지 않은 외부인이 시스템의 중요한 설정 정보를 몰래 훔쳐볼 수 있는 문제입니다. 공격자는 이 정보를 이용해 시스템의 보안을 무너뜨릴 수 있습니다.

🇺🇸 원문 (English)

GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data. Prior to versions 2.20.6, 2.19.6, and 2.18.7, anonymous users can obtain sensitive information about GeoNode configurations from the response of the `/geoserver/rest/about/status` Geoserver REST API endpoint. The Geoserver endpoint is secured by default, but the configuration of Geoserver for GeoNode opens a list of REST endpoints to support some of its public-facing services. The vulnerability impacts both GeoNode 3 and GeoNode 4 instances. Geoserver security configuration is provided by `geoserver-geonode-ext`. A patch for 2.20.7 has been released which blocks access to the affected endpoint. The patch has been backported to branches 2.20.6, 2.19.7, 2.19.6, and 2.18.7. All the published artifacts and Docker images have been updated accordingly. A more advanced patch has been applied to the master and development versions, which require some changes to GeoNode code. They will be available with the next 4.1.0 release. The patched configuration only has an effect on new deployments. For existing setups, the patch must be applied manually inside the Geoserver data directory. The patched file must replace the existing `<geoserver_datadir>/security/rest.properties` file.

📍 영향받는 시스템

GeoNode 2.20.6 미만, 2.19.6 미만, 2.18.7 미만 버전 (GeoNode 3 및 4 포함)

⚔️ 공격 벡터

인증되지 않은 익명 사용자가 `/geoserver/rest/about/status` API 엔드포인트에 접근하여 정보를 탈취

🛡️ 대응 방법

GeoNode를 최신 패치 버전(2.20.7, 2.19.7, 2.18.7 등)으로 업데이트하거나, 기존 설치 환경의 경우 Geoserver 데이터 디렉토리 내 `rest.properties` 파일을 수동으로 교체해야 함

🔧 검증 코드

응답 코드가 200 OK이면 취약한 상태이며, 403 Forbidden 또는 401 Unauthorized가 나오면 안전하게 조치된 상태입니다.

Shell / Script
curl -s -I http://<TARGET_IP>/geoserver/rest/about/status | grep -E 'HTTP/1.1 200|HTTP/1.1 403|HTTP/1.1 401'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Docker