CVE-2026-42154
Grafana vulnerability analysis and mitigation

Overview

CVE-2026-42154 is a denial-of-service vulnerability in Prometheus, an open-source monitoring system and time series database, caused by unvalidated memory allocation in the remote read endpoint. The remote read endpoint (/api/v1/read) fails to validate the declared decoded length in a snappy-compressed request body before allocating heap memory, allowing an unauthenticated attacker to trigger disproportionately large allocations with a small payload. Affected versions are all Prometheus releases prior to 3.5.3 (LTS) and versions 3.6.0 through 3.11.2 (fixed in 3.11.3). The vulnerability was disclosed on April 27, 2026, and carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory).

Technical details

The root cause is classified as CWE-400 (Uncontrolled Resource Consumption) and CWE-789 (Memory Allocation with Excessive Size Value). When Prometheus processes a snappy-compressed POST request to /api/v1/read, it reads the declared decoded length from the snappy frame header and allocates a buffer of that size before actually decompressing the data — without enforcing any upper bound on that declared length. An attacker can craft a small compressed payload that claims an arbitrarily large decoded size (a "snappy bomb"), causing the server to attempt a multi-gigabyte heap allocation per request. The fix, implemented in PRs #18584 (3.11.x branch) and #18585 (3.5.x LTS branch), adds a check via snappy.DecodedLen to reject requests whose declared decoded length exceeds a safe limit before any allocation occurs. No authentication or special privileges are required to reach this endpoint by default (GitHub Advisory, PR #18584, PR #18585).

Impact

Successful exploitation results in exhaustion of available heap memory on the Prometheus server, causing the process to crash and rendering monitoring and alerting capabilities unavailable. Because the attack requires no authentication and can be executed with concurrent requests, even a single attacker can reliably bring down the Prometheus instance. There is no confidentiality or integrity impact — the vulnerability is purely an availability (denial-of-service) issue affecting the Prometheus monitoring process itself (GitHub Advisory).

Exploitability

No public proof-of-concept exploit code has been confirmed, and there is no evidence of active in-the-wild exploitation at this time (GitHub Advisory). The vulnerability was responsibly disclosed by researchers Shadowbyte (4c1dr3aper) and Charlie Lewis. A GitHub repository attributed to ShadowByte1 referencing CVE-2026-42154 appeared in Feedly tracking data, though its contents are not confirmed as a weaponized exploit. The EPSS score is approximately 0.021% (very low probability of exploitation in the near term), and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. Qualys has added detection for this CVE (detection ID 762953).

Exploitation steps

  1. Reconnaissance: Identify internet-facing or network-accessible Prometheus instances running versions prior to 3.5.3 or between 3.6.0 and 3.11.2, using tools like Shodan or Censys searching for the Prometheus default port (9090) and the /api/v1/read endpoint.
  2. Craft malicious snappy payload: Construct a snappy-compressed request body where the snappy frame header declares an extremely large decoded length (e.g., several gigabytes) while the actual compressed data remains small — a "snappy bomb."
  3. Send crafted POST requests: Submit the malicious payload via HTTP POST to the target's /api/v1/read endpoint with the appropriate Content-Encoding: snappy and Content-Type: application/x-protobuf headers, requiring no authentication credentials.
  4. Amplify with concurrency: Send multiple concurrent requests to maximize memory pressure, as each request triggers a separate large heap allocation before the server can reject or process it.
  5. Achieve denial of service: Under sufficient concurrent load, the Prometheus process exhausts available system memory and crashes, taking down monitoring and alerting for the affected environment (GitHub Advisory, PR #18584).

Indicators of compromise

  • Network: High volume of POST requests to /api/v1/read from unexpected or external source IPs; requests with unusually small body sizes but triggering high memory consumption on the server.
  • Logs: Prometheus access logs showing repeated POST requests to /api/v1/read with Content-Encoding: snappy from a single or small set of source IPs in rapid succession; out-of-memory (OOM) kill events in system logs (e.g., Linux kernel OOM killer messages referencing the Prometheus process).
  • Process/System: Sudden spike in Prometheus process memory usage (prometheus process RSS growing to near system limits) followed by process crash or restart; repeated Prometheus service restarts visible in systemd or container orchestration logs.
  • Metrics: Prometheus go_memstats_heap_alloc_bytes or go_memstats_sys_bytes metrics showing sudden large spikes correlated with incoming requests to the remote read endpoint.

Mitigation and workarounds

Upgrade Prometheus to version 3.5.3 (LTS) or 3.11.3 (or later), both released on April 27, 2026, which validate the snappy decoded length before allocating memory (v3.11.3 Release, v3.5.3 Release). For environments where immediate patching is not feasible, the official workaround is to place Prometheus behind a reverse proxy or firewall that enforces authentication before requests reach the /api/v1/read endpoint, effectively blocking unauthenticated access (GitHub Advisory). Additionally, network-level rate limiting on the /api/v1/read endpoint can reduce the impact of concurrent attack attempts. Note that the Java io.prometheus:simpleclient library is not affected — this vulnerability is specific to the Prometheus Go server binary.

Community reactions

The Prometheus maintainer team (led by Julien Pivotto / roidelapluie) coordinated a responsible disclosure and released patches on the same day the advisory was published (April 27, 2026), alongside fixes for two other security issues in the same release (v3.11.3 Release). SUSE issued security update announcements (SUSE-SU-2026:2243-1 and SUSE-SU-2026:2267-1) and openSUSE security lists distributed notifications, indicating broad downstream Linux distribution uptake of the fix. The community noted a false-positive risk with OWASP dependency-check incorrectly flagging the Java io.prometheus:simpleclient library due to shared CPE naming, prompting clarifications in several downstream projects.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

prometheus

Affected

sid

prometheus: 3.5.3+ds1-1

Fixed

trixie

prometheus

Affected

Ubuntu

Unknown

bionic (esm-apps)

prometheus

Unknown

devel

prometheus

Unknown

focal (esm-apps)

prometheus

Unknown

jammy

prometheus

Unknown

jammy (esm-apps)

prometheus

Unknown

noble

prometheus

Unknown

noble (esm-apps)

prometheus

Unknown

resolute

prometheus

Unknown

RHEL / CentOS

Fixed

OpenShift

el9:openshift4/ose-prometheus-0:v4.12.0

Fixed

RHEL 8

Not Affected

RHEL 9

:appstream:opentelemetry-collector-0:0.152.1-1.el9_4.src

Fixed

RHEL 10

opentelemetry-collector-0:0.152.1-1.el10_0.src

Fixed

Alpine

Fixed

edge

prometheus: 3.5.3-r0

Fixed

v3.23

prometheus: 3.5.3-r0

Fixed

SourceThis report was generated using AI

Related Grafana vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-6377HIGH7.5
  • Grafana logoGrafana
  • ignition-validate
NoNoSep 07, 2026
CVE-2026-19534HIGH7.5
  • Grafana logoGrafana
  • nodejs24
NoNoSep 04, 2026
CVE-2026-84890MEDIUM5.9
  • Grafana logoGrafana
  • nodejs:22::nodejs.src
NoNoSep 04, 2026
CVE-2026-18149MEDIUM5.9
  • Grafana logoGrafana
  • nodejs:22::nodejs
NoNoSep 04, 2026
CVE-2026-18540LOW3.7
  • Grafana logoGrafana
  • nodejs24-npm
NoNoSep 04, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management