🔍 CVE-2026-54354

8.2
CVSS Score
HIGH
2026-09-17
2026-09-24 21:19
✅ 완료

🇰🇷 한글 설명

MapServer 8.6.4 미만 버전에서 PostGIS 런타임 필터 변환 시 입력값에 대한 숫자 검증이 누락되어 SQL 인젝션 취약점이 발생합니다. 공격자는 인증 없이 CGI qstring 또는 OGC API Features의 featureId를 통해 조작된 입력을 전달하여 데이터베이스 쿼리를 우회하거나 정보를 탈취할 수 있습니다.

💡 쉬운 설명

지도 서비스를 제공하는 프로그램에서 사용자가 입력한 값을 제대로 검사하지 않아 발생하는 보안 문제입니다. 나쁜 의도를 가진 사람이 특수 문자를 입력하면 데이터베이스의 숨겨진 정보를 몰래 빼내거나 시스템에 과부하를 줄 수 있습니다.

🇺🇸 원문 (English)

MapServer is a system for developing web-based GIS applications. Prior to 8.6.4, MapServer's PostGIS runtime filter translation in src/mappostgis.cpp and msPostGISLayerTranslateFilter() treats a filteritem as numeric when CONNECTIONTYPE POSTGIS and metadata such as gml_<item>_type=Integer are configured, but it does not verify that attacker-controlled CGI qstring or OGC API Features featureId input is a numeric literal. The unquoted input is concatenated into the generated PostgreSQL/PostGIS predicate, allowing an unauthenticated remote attacker with access to an affected query endpoint to bypass predicates, enumerate unintended records, perform boolean-based or time-based SQL injection, and increase database load. The issue does not by itself establish database modification capabilities. This issue is fixed in version 8.6.4.

📍 영향받는 시스템

MapServer 8.6.4 미만 모든 버전

⚔️ 공격 벡터

인증되지 않은 원격 공격자가 조작된 CGI qstring 또는 OGC API Features의 featureId 입력을 통해 SQL 인젝션 수행

🛡️ 대응 방법

MapServer를 최신 보안 패치가 적용된 8.6.4 버전 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 MapServer 버전이 8.6.4 미만인지 확인하십시오.

Shell / Script
mapserver --version 2>/dev/null || dpkg -l | grep mapserver

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PostgreSQL