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년 5월 28일

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월 13일

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에 잘못 적용되던 버그 수정
원문

Prometheus

Observability2026년 4월 2일

v3.11.0은 새로운 서비스 디스커버리 기능과 TSDB 실험적 기능을 대거 추가했습니다. 특히 보존 기간이 설정값보다 100만 배 길어지는 심각한 버그가 수정되었으니 즉시 업그레이드해야 합니다.

  • breakingTSDB 보존 기간 버그 수정 — 디스크 폭증 전에 업그레이드

    config 파일에서 `storage.tsdb.retention.time`을 설정할 때 단위 파싱 오류로 인해 실제 보존 기간이 설정값의 100만 배로 동작했습니다. CLI 플래그 대신 config 파일로 retention을 지정하고 있다면 디스크가 예상보다 훨씬 많은 데이터를 보유하고 있을 수 있습니다. 3.11.0으로 업그레이드 후 디스크 사용량을 반드시 확인하세요. 아울러 config에서 retention 설정을 제거하면 CLI 플래그 값으로 폴백되도록 동작이 바뀌었으니 설정을 재검토하세요.

  • breakingHetzner hcloud SD 레이블 2026년 7월 전에 마이그레이션

    `__meta_hetzner_datacenter`, `__meta_hetzner_hcloud_datacenter_location*` 레이블은 hcloud 역할에서 2026년 7월 1일부터 동작하지 않습니다. relabeling 설정과 recording rule을 전수 점검해 `__meta_hetzner_hcloud_location`, `__meta_hetzner_hcloud_location_network_zone`으로 교체하세요. robot 역할의 기존 레이블은 하위 호환성을 위해 유지됩니다.

  • enhancementretention.percentage로 TSDB 디스크 사용량 상한 설정

    새로 추가된 `storage.tsdb.retention.percentage` 설정을 사용하면 TSDB가 사용할 수 있는 디스크 비율의 상한을 지정할 수 있습니다. 데이터 수집량이 가변적인 환경에서 바이트 기반 상한을 추정하는 것보다 훨씬 관리하기 쉽습니다. 기존 시간 기반 retention을 대체하기보다는 함께 설정해 두 조건 모두 적용되도록 운영하는 것을 권장합니다.

주요 변경 (6)
  • 긴급 버그: TSDB retention time 단위 오류로 보존 기간이 설정값의 1e6배로 동작 — 즉시 패치 필요
  • Hetzner hcloud SD 레이블 `__meta_hetzner_datacenter` 등 2026년 7월 1일부로 삭제 예정
  • AWS SD에 Elasticache·RDS 역할 추가, Azure Workload Identity 인증 지원
  • 새 `storage.tsdb.retention.percentage` 설정으로 디스크 사용량 비율 상한 지정 가능
  • 실험적 `fast-startup` 플래그: WAL 디렉토리에 시리즈 상태 저장해 재시작 시간 단축
  • OTLP ErrTooOldSample 응답 코드 500→400 수정으로 클라이언트 무한 재시도 루프 해소
원문