본문 바로가기

지오네트워크(GeoNetwork), 인증 없이 원격코드실행 가능한 취약점 체인 공개 - 4.4.12/4.2.17로 업그레이드 권고

조회 2 · 댓글 0
빅토르최빅토르최작성자2026년 9월 2일

오픈소스 지리정보 카탈로그인 지오네트워크(GeoNetwork)에서 인증 없이 원격코드실행(RCE)까지 이어지는 취약점 체인이 2026년 8월 31일 공개됐습니다. 발견자는 Ethiack의 보안 연구원 Rafael Castilho이고, 프로젝트 측은 관련 패치를 담은 4.4.124.2.17을 이미 7월 8일에 배포해 둔 상태입니다.

핵심은 두 결함을 엮는 방식입니다. 먼저 포매터 업로드 엔드포인트(FormatterAdminApi)에 인가 검사가 빠져 있어(CVE-2026-63219, CVSS 8.6) 인증되지 않은 사용자가 임의의 .xsl 또는 .zip 포매터 파일을 서버에 올릴 수 있습니다. 그다음 이 스타일시트를 렌더링하는 Saxon XSLT 프로세서 설정이 안전하지 않아(CVE-2026-58400, CVSS 9.1) 스타일시트에서 java.lang.Runtime.exec()java.lang.ProcessBuilder를 호출해 지오네트워크 프로세스 권한으로 OS 명령을 실행할 수 있습니다. 연구팀은 악성 포매터를 올린 뒤 GET 요청 한 번으로 4.4.11 인스턴스에서 리버스 셸을 얻는 과정을 시연했습니다. 같은 공개 건에는 미인증 SSRF(CVE-2026-55864)와 반사형 XSS(CVE-2026-57582)도 함께 포함됐습니다.

Saxon 쪽 원인이 눈여겨볼 만합니다. 연구 자료를 보면 사용된 Saxon-B 라이브러리에서 ALLOW_EXTERNAL_FUNCTIONS 옵션이 기본값 true라 스타일시트가 자바 런타임을 직접 호출할 수 있었다고 설명합니다. XSLT를 외부 입력으로 받아 처리하는 구조에서는 흔히 놓치는 지점입니다. 인가 검사 누락이라는 웹 계층 문제와 XSLT 프로세서 설정이라는 미들웨어 계층 문제가 겹쳐 미인증 RCE로 완성된 셈이라고 볼 수 있습니다.

노출 규모도 이 소식이 주목받는 이유입니다. 연구팀 집계로는 39개국 121개 지오네트워크 4.x 인스턴스가 인터넷에 노출돼 있었고, 이 가운데 89%가 정부, 군, 국가기관 관련 배포였다고 합니다. 인가 우회(≥4.0.6)를 통한 미인증 RCE라는 조건상 공개 직후 대응이 필요해 보입니다.

운영 중이라면 확인해볼 지점은 세 가지입니다. 1) 실행 중인 버전이 4.4.11 이하 또는 4.2.16 이하인지, 2) 포매터 업로드 엔드포인트가 외부에 노출돼 있는지, 3) 커스텀 XSLT 포매터를 쓴다면 Saxon의 외부 함수 호출 허용 여부입니다. 우선 4.4.12 또는 4.2.17로 올리는 것이 정공법입니다.

🔗 https://github.com/geonetwork/core-geonetwork/security

🔗 https://ethiack.com/info-hub/research/geonetwork-preauth-RCE

로그인 후 답글을 남길 수 있습니다.