RATATOSKRATATOSK
로그인

릴리즈

CNCF graduated·incubating 프로젝트 릴리즈 노트의 AI 분석.

프로젝트: Prometheus해제 ×

Prometheus

Observability2026년 7월 1일

Prometheus v3.13.0은 LTS 릴리스로, HIGH 등급 자격 증명 전달 취약점(CVE-2025-4673·CVE-2023-45289)과 MEDIUM 등급 XSS(CVE-2026-44990) 수정이 핵심이며, 페이지네이션 토큰·경로 해석·PromQL 기간 함수명·라이선스 파일 배포 방식 등 네 가지 파괴적 변경과 다수의 신기능 및 성능 개선이 함께 포함됩니다.

  • securityHIGH: 교차 호스트 리다이렉트 시 자격 증명 전달 중단

    리다이렉트 대상 호스트가 다를 때 Authorization 헤더, Basic 인증, Bearer 토큰, OAuth2, 사용자 정의 헤더 등의 자격 증명이 더 이상 전달되지 않습니다. 스크레이핑, 원격 read/write, 알림, 서비스 디스커버리 전반에 걸쳐 영향을 줍니다. CVE-2025-4673·CVE-2023-45289로 추적되며, prometheus/common을 v0.68.x에서 v0.69.0으로 올리면서 적용됐습니다. 교차 호스트 리다이렉트에 의존하는 엔드포인트가 있다면 자격 증명이 조용히 누락되는지 확인하세요.

  • securityMEDIUM: UI 의존성 XSS 수정 (CVE-2026-44990)

    UI에서 사용하는 sanitize-html에 XSS 취약점(CVE-2026-44990)이 존재했으며 버전 업데이트로 수정됐습니다. 별도 설정 변경 없이 v3.13.0으로 업그레이드하면 됩니다.

  • breaking페이지네이션 토큰 알고리즘이 SHA-1에서 SHA-256으로 변경

    룰 그룹 페이지네이션 토큰 생성 방식이 SHA-1에서 SHA-256으로 바뀌었습니다. 이전 버전에서 얻은 토큰을 저장하거나 비교하는 클라이언트나 도구는 업그레이드 후 값이 달라집니다.

  • breaking--http.config.file 상대 경로 기준 디렉터리 변경

    --http.config.file로 전달한 파일 내의 상대 경로가 부모 디렉터리가 아닌 해당 설정 파일의 디렉터리를 기준으로 해석됩니다. 상대 경로를 쓰고 있다면 업그레이드 후 경로가 올바르게 해석되는지 확인하세요.

  • breaking기간 표현 함수 min()/max()가 min_of()/max_of()로 이름 변경

    experimental-duration-expr 피처 플래그를 켠 상태라면, PromQL 기간 표현 함수 min()과 max()가 min_of()와 max_of()로 이름이 바뀌었습니다. 해당 함수를 쓰는 쿼리와 룰을 수정하세요.

  • breakingnpm_licenses.tar.bz2 제거, 라이선스는 /assets/third-party-licenses.txt로 이동

    릴리스 tarball과 컨테이너 이미지에서 npm_licenses.tar.bz2가 제거됐습니다. 서드파티 npm 라이선스 정보는 바이너리에 내장돼 /assets/third-party-licenses.txt로 제공됩니다. 해당 아카이브를 추출하는 자동화가 있다면 수정이 필요합니다.

주요 변경 (8)
  • HIGH 보안: 교차 호스트 리다이렉트 시 자격 증명 전달 중단, CVE-2025-4673·CVE-2023-45289 대응 (prometheus/common v0.69.0)
  • MEDIUM 보안: sanitize-html 업데이트로 UI XSS 취약점 CVE-2026-44990 수정
  • 파괴적 변경: 룰 그룹 페이지네이션 토큰이 SHA-256으로 바뀌어 이전 토큰과 호환되지 않음
  • 파괴적 변경: --http.config.file 내 상대 경로 기준이 부모 디렉터리에서 설정 파일 디렉터리로 변경
  • 파괴적 변경: 기간 표현 함수 min()/max()가 min_of()/max_of()로 이름 변경 (experimental-duration-expr 플래그 사용 시)
  • 파괴적 변경: npm_licenses.tar.bz2가 tarball/이미지에서 제거되고 바이너리 내 /assets/third-party-licenses.txt로 대체
  • 신기능: 메트릭 이름·레이블 이름·레이블 값에 대한 실험적 API 검색 엔드포인트, AWS RDS 필터링, Scaleway VPC/IPAM 전용 인스턴스 지원, 네이티브 히스토그램 smoothed/anchored rate, 쿼리별 samplesRead 통계, Azure Monitor Workspace 인증서 지원, ghcr.io 이미지 배포
  • 성능: 대소문자 무시 전위 매칭 최대 약 2배 빠른 속도, 청크 쓰기 샘플 오버헤드 약 12-15% 감소, V2 히스토그램 WAL 디코더 할당량 최대 50% 감소(created-timestamp 활성 시 메모리 최대 10% 절감); PromQL 패닉 및 TSDB 손상 다수 수정 포함
원문

Prometheus

Observability2026년 6월 18일

Prometheus v3.5.4는 보안 패치 릴리스입니다. STACKIT SD의 시크릿 노출 버그를 고쳤고, Go 및 UI 의존성 여러 개에서 CVE를 패치했습니다. 빠른 업그레이드가 필요합니다.

  • securitySTACKIT SD 사용 중이라면 자격증명 즉시 교체

    /-/config 엔드포인트가 STACKIT SD 시크릿을 평문으로 노출하고 있었습니다. STACKIT SD를 쓰는 인스턴스에서 /-/config가 관리자 외에 접근 가능했다면 해당 자격증명이 유출됐다고 보고 즉시 교체해야 합니다. v3.5.4로 업그레이드한 뒤 /-/config 엔드포인트에 인증을 적용하세요.

  • securityGo CVE 세 건 패치 — 노출된 인스턴스라면 즉시 업그레이드

    GO-2026-5026, GO-2026-4918, GO-2026-4985가 golang.org/x/net v0.55.0, OpenTelemetry v1.43.0 업그레이드로 수정됩니다. 외부 트래픽을 받는 Prometheus 인스턴스를 운영 중이라면 다음 정기 점검 때까지 미루지 말고 이번 패치를 먼저 적용하세요.

  • enhancementghcr.io에서도 이미지 직접 pull 가능

    Prometheus 컨테이너 이미지가 이제 ghcr.io/prometheus/prometheus에도 게시됩니다. Docker Hub 속도 제한이나 접근 문제가 있는 환경이라면 이미지 소스를 ghcr.io로 전환하는 것을 검토하세요.

주요 변경 (4)
  • STACKIT SD가 /-/config 엔드포인트를 통해 시크릿을 평문으로 노출하던 문제 수정 (GHSA-39j6-789q-qxvh)
  • golang.org/x/net 및 OpenTelemetry 버전 업그레이드로 GO-2026-5026, GO-2026-4918, GO-2026-4985 패치
  • react-router-dom, vite, vitest, postcss 등 UI 의존성 보안 업데이트
  • 컨테이너 이미지가 ghcr.io에도 게시되기 시작
원문

Prometheus

Observability2026년 5월 29일

Prometheus 3.12.0은 Remote Write DoS와 STACKIT SD 시크릿 노출 두 가지 보안 패치를 포함하며, Agent 모드 WAL 레이스 버그를 수정하고 TSDB 범위 쿼리의 헤드 청크 조회를 O(1)로 개선합니다.

  • securitySTACKIT SD 사용 환경은 자격증명 교체 후 즉시 업그레이드

    이번 릴리스에서 두 가지 보안 취약점이 패치되었습니다. 첫째, Remote Write 수신 시 snappy 압축 페이로드의 선언된 압축 해제 크기가 32 MB를 초과하면 요청을 거부하도록 변경되었습니다 — DoS 공격 벡터를 막는 조치입니다. 둘째, STACKIT SD가 `/-/config` 엔드포인트를 통해 시크릿을 평문으로 노출하는 버그(GHSA-39j6-789q-qxvh)가 수정되었습니다. STACKIT SD를 사용 중이라면 업그레이드 전에 노출됐을 수 있는 자격증명을 즉시 교체하세요.

  • breakingAgent 모드 WAL 레이스 패치 — Agent 배포 환경은 업그레이드 필수

    Agent 모드에서 동일한 레이블 셋을 대상으로 동시에 Append가 발생할 때 인메모리 시리즈와 WAL 레코드가 중복 생성되는 레이스 컨디션이 수정되었습니다. 쓰기 부하가 높은 Agent 배포 환경에서는 WAL이 조용히 손상될 수 있었던 버그입니다. 또한 `remote_write` queue_config 필드 유효성 검사가 이제 시작 시점에 수행됩니다 — 기존에는 런타임 패닉으로 이어지던 잘못된 설정이 이제 startup 실패로 나타납니다. 배포 전 반드시 설정 파일을 검증하세요.

  • enhancementTSDB 범위 쿼리 CPU 개선 및 auto-reload-config 안정화

    TSDB 헤드 청크의 범위 쿼리 조회가 O(n²)에서 O(1)로 개선되었고, mmap 처리 시 불필요한 시리즈를 건너뛰도록 최적화되었습니다. 헤드 청크가 많은 운영 환경에서 CPU 사용량이 눈에 띄게 줄어들 수 있습니다. 설정 변경 없이 업그레이드만으로 적용됩니다. 아울러 `auto-reload-config`가 stable로 승격되었으므로, 런북에서 해당 기능에 붙어 있던 '실험적' 주석을 제거해도 됩니다.

주요 변경 (7)
  • 보안: Remote Write에서 32 MB 초과 snappy 페이로드 거부(DoS 방어); STACKIT SD 시크릿 평문 노출 패치(GHSA-39j6-789q-qxvh)
  • TSDB 성능: 헤드 청크 범위 쿼리 조회 O(n²) → O(1); mmap 시 불필요한 시리즈 건너뜀으로 CPU 절감
  • PromQL: 실험적 함수 start(), end(), range(), step() 추가; use-start-timestamps 플래그 뒤에 rate()/irate()/increase()/resets()가 start timestamp 반영
  • Service Discovery: DigitalOcean Managed Databases, Outscale VM 추가; AWS EC2 SD IPv6 지원; AWS SD에 external_id 옵션 추가(ECS/MSK/RDS/ElastiCache)
  • 버그 수정: Agent WAL 레이스 컨디션, 잘못된 네이티브 히스토그램 스크레이프 패닉, TSDB 네이티브 히스토그램 쿼리 패닉, remote_write 설정 startup 시 유효성 검사 적용
  • UI: Status 메뉴에서 시계열 삭제 및 tombstone 정리 기능 추가
  • auto-reload-config stable 승격
원문

Prometheus

Observability2026년 4월 28일

Prometheus v3.11.3은 자격증명 노출, snappy 페이로드를 통한 DoS, 구 UI의 저장형 XSS 등 세 가지 보안 취약점을 수정합니다.

  • security/-/config 엔드포인트에 접근 가능했다면 AzureAD client_secret 즉시 교체

    AzureAD remote write를 사용 중이고 /-/config 엔드포인트가 신뢰할 수 없는 사용자에게 노출된 적이 있다면 client_secret이 이미 유출됐다고 봐야 합니다. Azure AD에서 즉시 시크릿을 교체한 뒤 v3.11.3으로 업그레이드하세요. 이 엔드포인트가 외부에 공개되어 있지 않은지도 함께 점검하세요.

  • securityRemote-read를 외부에 노출 중이라면 즉시 업그레이드 필요

    snappy 디코드 취약점은 공격자가 디코딩 길이를 부풀린 요청을 전송해 메모리를 고갈시킬 수 있는 DoS 벡터입니다. remote-read 엔드포인트가 신뢰 경계 외부에서 접근 가능하다면 실제 위협입니다. 설정 레벨의 우회책은 없으므로 v3.11.3으로 빠르게 업그레이드하세요.

  • security구 UI를 아직 사용 중이라면 XSS 노출 여부 확인 후 업그레이드

    구 UI 히트맵의 저장형 XSS는 사용자가 레이블 값에 영향을 줄 수 있는 환경(계측 애플리케이션 등)에서 다른 사용자가 해당 차트를 열람할 때 동작합니다. 이미 새 UI로 전환했다면 영향 없습니다. 그렇지 않다면 지금 바로 업그레이드하거나, 업그레이드 전까지 UI 접근을 신뢰할 수 있는 사용자로 제한하세요.

주요 변경 (3)
  • CVE-2026-42151: AzureAD OAuth client_secret이 /-/config 엔드포인트에서 평문으로 노출되던 문제 수정
  • CVE-2026-42154: Remote-read에서 선언된 디코딩 길이가 제한을 초과하는 snappy 압축 요청을 거부하도록 변경 — DoS 벡터 차단
  • 구 UI 히트맵 차트의 le 레이블 값이 이스케이프 처리 없이 렌더링되어 발생하던 저장형 XSS 수정
원문

Prometheus

Observability2026년 4월 27일

Prometheus v3.5.3은 보안 전용 릴리스로, 자격증명 노출, 스내피 압축 폭탄 2건, 레거시 UI의 저장형 XSS 등 4개의 취약점을 패치합니다.

  • security/-/config 엔드포인트가 외부에 노출됐다면 즉시 AzureAD client_secret 교체

    AzureAD remote write를 사용하는 모든 Prometheus 인스턴스는 /-/config 엔드포인트에서 OAuth client_secret이 평문으로 드러났습니다. 해당 엔드포인트가 비인가 사용자나 모니터링 도구에 의해 접근 가능했다면 시크릿이 유출된 것으로 간주해야 합니다. Azure AD에서 시크릿을 교체하고 Prometheus 설정을 업데이트한 뒤 v3.5.3으로 업그레이드하세요. 업그레이드 후에는 리버스 프록시 또는 --web.enable-admin-api 설정으로 /-/config 접근을 제한하는 것이 좋습니다.

  • security외부 소스로부터 remote-read/write를 받는다면 즉시 업그레이드

    remote-read와 remote-write 엔드포인트 모두 압축 폭탄 공격에 취약했습니다. 선언된 디코딩 크기를 부풀린 스내피 요청으로 메모리를 고갈시킬 수 있었습니다. 인터넷에 노출된 Prometheus이거나 멀티 테넌트 환경에서 데이터를 수신한다면 서비스 거부 공격 위험이 있습니다. 설정으로 우회할 방법은 없으므로 v3.5.3으로 업그레이드하는 것이 유일한 해결책입니다.

  • security레거시 UI 사용 시 저장형 XSS 패치 적용 필요

    구형 UI 히트맵이 'le' 레이블 값을 이스케이프 없이 렌더링해 저장형 XSS가 가능했습니다. 외부나 사용자가 제어하는 시스템에서 'le' 레이블이 수집되고 있다면, 악성 자바스크립트가 브라우저에서 실행될 수 있습니다. v3.5.3으로 업그레이드하세요. 단기 조치로는 사용자를 신규 UI로 유도하는 방법도 있습니다.

주요 변경 (4)
  • CVE-2026-42151: AzureAD OAuth client_secret가 /-/config 엔드포인트에서 평문으로 노출
  • CVE-2026-42154: Remote-read 스내피 압축 폭탄 — 선언된 디코딩 길이가 제한을 초과하면 요청 거부
  • Remote-write도 동일한 디코딩 제한 적용으로 압축 폭탄 공격 차단 (별도 CVE 없음)
  • 레거시 UI 히트맵 틱 레이블에서 'le' 레이블 값이 이스케이프 처리되지 않아 저장형 XSS 발생 (GHSA-fw8g-cg8f-9j28)
원문

Prometheus

Observability2026년 4월 14일

Prometheus v3.11.2은 웹 UI의 저장형 XSS 취약점(CVE-2026-40179)을 패치하고 Consul SD 버그 2건을 수정합니다. UI가 외부에 노출된 환경이라면 즉시 업그레이드하세요.

  • securityPrometheus UI가 노출된 환경이라면 CVE-2026-40179 즉시 패치

    스크레이프 대상이 메트릭 이름이나 레이블 값을 조작하면 UI에 악성 스크립트를 심을 수 있는 저장형 XSS입니다. 운영팀 외 사용자가 Prometheus UI에 접근할 수 있는 환경(내부 대시보드, 페더레이션 구성 등)이라면 즉각 v3.11.2로 업그레이드하세요. 당장 업그레이드가 어렵다면 네트워크 정책이나 인증 프록시로 UI 접근을 제한하는 것이 먼저입니다.

  • breaking업그레이드 후 Consul SD 스크레이프 대상 변경 여부 반드시 확인

    Consul Health API에 filter 파라미터가 잘못 적용되던 버그가 수정됐습니다. 의도치 않게 해당 동작에 의존하고 있었다면 업그레이드 후 발견되는 서비스 목록이 달라질 수 있습니다. 프로덕션 배포 전에 Consul SD 설정을 검토하고, 스크레이프 대상이 예상과 일치하는지 검증하세요.

  • enhancementConsul SD의 `health_filter`로 비정상 서비스 제거 간소화

    새로 추가된 `health_filter` 필드를 사용하면 SD 레이어에서 직접 Consul Health API 응답을 필터링할 수 있습니다. 지금까지 릴레이블링 규칙으로 비정상 인스턴스를 걸러내고 있었다면, `health_filter: healthy`로 설정해 그 규칙들을 정리하세요. 불필요한 타깃 변동(churn)도 줄어듭니다.

주요 변경 (3)
  • 보안: UI 툴팁·메트릭 탐색기에서 메트릭 이름·레이블 값 미이스케이프로 인한 저장형 XSS — CVE-2026-40179
  • Consul SD: Health API 필터링을 위한 `health_filter` 필드 신규 추가
  • Consul SD: filter 파라미터가 Health API에 잘못 적용되던 버그 수정
원문