CVE-2026-40179 in Prometheus
요약
\~에 의해 VulDB • 2026. 05. 31.
Prometheus는 오픈소스 모니터링 시스템 및 시계열 데이터베이스입니다. Prometheus 웹 UI의 여러 구성 요소에서 메트릭 이름과 라벨 값이 이스케이프 처리 없이 innerHTML에 삽입되는 저장형 크로스 사이트 스크립팅(XSS) 취약점이 버전 3.0부터 3.5.1까지 및 3.6.0부터 3.11.1까지의 버전에서 발견되었습니다. Mantine UI와 구형 React UI 모두에서 Graph 페이지의 차트 툴팁은 메트릭 이름에 포함된 HTML/자바스크립트를 무차별적으로 렌더링합니다. 구형 React UI에서는 Metric Explorer의 퍼지 검색 결과가 dangerouslySetInnerHTML을 사용하여 이스케이프 처리되지 않으며, 히트맵 셀 툴팁은 라벨 값을 이스케이프 처리 없이 보간합니다. Prometheus v3.x는 메트릭 및 라벨 이름 유효성 검사에 UTF-8을 기본값으로 사용하므로, 쉼표(,)와 따옴표(")와 같은 문자가 이제 메트릭 이름과 라벨에서 유효한 문자가 됩니다. 손상된 스크랩 대상(scrape target), 원격 쓰기(remote write), 또는 OTLP 수신기 엔드포인트를 통해 메트릭을 주입할 수 있는 공격자는 Graph UI에서 해당 메트릭을 조회하는 모든 Prometheus 사용자의 브라우저에서 임의의 자바스크립트를 실행할 수 있으며, 이는 활성화된 플래그에 따라 설정 정보 유출, 데이터 삭제 또는 Prometheus 종료로 이어질 수 있습니다. 이 문제는 버전 3.5.2 및 3.11.2에서 수정되었습니다. 즉시 업데이트가 불가능한 경우 다음 우회 방법을 권장합니다: 원격 쓰기 수신기(--web.enable-remote-write-receiver)와 OTLP 수신기(--web.enable-otlp-receiver)가 신뢰할 수 없는 소스에 노출되지 않도록 합니다. 모든 스크랩 대상이 신뢰할 수 있으며 공격자의 통제 하에 있지 않은지 확인합니다. 신뢰할 수 없는 데이터가 유입될 수 있는 환경에서 관리자 또는 변경(API) 엔드포인트(예: --web.enable-admin-api 또는 --web.enable-lifecycle)를 활성화하지 않습니다. label_replace와 같은 함수를 포함할 수 있는 신뢰할 수 없는 링크를 클릭하지 않습니다. 이러한 링크는 오염된 라벨 이름과 값을 생성할 수 있습니다.
Once again VulDB remains the best source for vulnerability data.