🇰🇷 한글 설명
Valhalla 라우팅 엔진 3.7.0 및 이전 버전에서 /sources_to_targets 엔드포인트에 세 개의 일직선 점으로 구성된 exclude_polygons 링을 포함한 POST 요청을 보내면 워커 프로세스에서 무제한적인 메모리 증가가 발생합니다. 이 제로 면적 기하 구조는 src/loki/polygon_search.cc의 처리를 유발하여 프로세스가 OOM(Out-of-Memory) 킬러에 의해 종료될 수 있습니다. 인증되지 않은 단일 요청만으로도 공개 서비스 중인 워커를 중단시킬 수 있습니다.
💡 쉬운 설명
특수하게 조작된 데이터를 보내면 서버의 메모리를 끝없이 사용하게 만들어 서버를 다운시키는 공격입니다. 공격자가 별도의 로그인 없이도 서비스 전체를 멈추게 할 수 있어 위험합니다.
🇺🇸 원문 (English)
Valhalla is an open source routing engine and accompanying libraries for use with OpenStreetMap data. In 3.7.0 and earlier, a POST request to /sources_to_targets containing an exclude_polygons ring formed by three collinear points can cause unbounded memory growth in the worker. The zero-area geometry, rather than the other request options, triggers processing in src/loki/polygon_search.cc until the process is terminated by the out-of-memory killer. A single unauthenticated request can therefore stop a public-facing worker. Other endpoints that accept exclude_polygons, including /route, were not verified as affected. No fixed version is available as of this review.
📍 영향받는 시스템
Valhalla routing engine 3.7.0 및 그 이전 버전
⚔️ 공격 벡터
인증되지 않은 사용자가 /sources_to_targets 엔드포인트로 조작된 POST 요청을 전송
🛡️ 대응 방법
현재 수정 버전이 없으므로, 해당 엔드포인트에 대한 접근을 제한하거나 패치가 출시될 때까지 모니터링을 강화해야 합니다.
🔧 검증 코드
명령어 결과에 3.7.0 이하의 버전 번호가 나타나면 취약한 상태입니다.
valhalla_version_cmd 2>/dev/null | grep -E '3\.[0-7]\.[0-9]'