🇰🇷 한글 설명
Elasticsearch의 스크립트 런타임 필드에서 생성되는 지오메트리(geometry) 값의 직렬화 과정 중 제어되지 않는 재귀(CWE-674) 취약점이 발견되었습니다. 인증된 사용자가 깊게 중첩된 데이터 구조를 생성하는 스크립트를 실행할 경우, 스택 공간을 초과하여 서버가 종료되는 서비스 거부(DoS) 상태가 발생할 수 있습니다.
💡 쉬운 설명
특수하게 조작된 명령어를 보내면 서버가 끝없이 반복 계산을 하다가 과부하로 멈춰버리는 문제입니다. 이로 인해 서비스가 중단되어 정상적인 이용이 불가능해질 수 있습니다.
🇺🇸 원문 (English)
Uncontrolled Recursion (CWE-674) in Elasticsearch can lead to Denial of Service via a specially crafted request that causes the server to construct and process a deeply nested data structure with no bound on recursion depth. Elasticsearch contains an uncontrolled recursion weakness in how it builds and serializes geometry values produced by scripted runtime fields. Unlike geometry supplied as text, which is subject to a nesting-depth limit, geometry constructed from a script's output is not bounded. An authenticated user with read access to a single index can submit a request defining such a field with a script that produces a deeply nested structure. Processing this request recurses past the available stack space, causing the affected node to terminate. The node does not recover automatically on all deployments and may require manual intervention to restore service.
📍 영향받는 시스템
Elasticsearch (스크립트 런타임 필드를 사용하는 버전)
⚔️ 공격 벡터
인증된 사용자가 깊게 중첩된 지오메트리 구조를 생성하는 스크립트가 포함된 요청을 전송
🛡️ 대응 방법
Elasticsearch를 최신 보안 패치가 적용된 버전으로 업데이트하고, 스크립트 실행 권한을 최소화합니다.
🔧 검증 코드
출력된 버전 정보가 취약점이 해결된 최신 패치 버전인지 확인합니다.
curl -s -u username:password -XGET 'http://localhost:9200/' | grep -i 'version'