
오픈소스 지리공간 데이터 플랫폼 GeoServer의 기반 라이브러리인 GeoTools에서 인증 없이 악용될 수 있는 치명적인 SQL 인젝션 취약점이 확인됐다. 공식 보안 권고는 별도의 우회책이 없다고 밝혀, 영향을 받는 운영자는 수정 버전으로 신속히 업데이트해야 한다.
PostGIS 필터 처리 과정에서 입력값 검증 누락
문제는 PostGIS 데이터스토어에서 OGC 필터를 실행할 때 사용하는 jsonArrayContains 함수에서 발생한다. PostGIS 12 이상 환경에서 문자열 또는 JSON 필드를 다룰 경우 외부 입력값이 적절히 이스케이프되지 않은 채 SQL 문에 포함될 수 있다.
공격자는 이를 통해 데이터베이스에서 임의의 SQL 표현식을 실행할 가능성이 있다. GitHub에 게시된 공식 권고는 위험도를 CVSS 9.8점, 등급은 ‘치명적’으로 평가했으며 아직 별도의 CVE 번호는 부여되지 않았다고 설명했다.

35.1·34.5·33.6으로 업데이트해야
영향을 받는 GeoTools 패키지는 org.geotools:gt-jdbc-postgis다. 공식 권고에 따르면 35.0, 34.0 이상 34.5 미만, 33.1 이상 33.6 미만 버전이 취약하며 각각 35.1, 34.5, 33.6에서 문제가 수정됐다.
이번 결함은 2023년에 수정됐던 CVE-2023-25158 문제 가운데 jsonArrayContains 함수와 관련된 회귀 버그로 확인됐다. 과거에 안내됐던 preparedStatements 활성화나 함수 인코딩 비활성화 방식도 이번 문제에는 효과가 없어 패치 적용이 사실상 유일한 대응책이다.
외부 노출 서버와 로그 함께 점검해야
운영자는 먼저 사용 중인 GeoTools와 GeoServer 버전, PostGIS 연결 설정을 확인할 필요가 있다. 인터넷에 직접 노출된 서비스라면 불필요한 접근을 제한하고 데이터베이스 오류나 비정상 필터 요청 등 이상 징후가 남았는지도 함께 점검하는 것이 안전하다.