Grafana Image Renderer
CVE-2025-11539
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach image renderer endpoint with default/known authToken
-
DeliverySend crafted /render/csv request with malicious filePath
-
ExploitWrite shared object to arbitrary location
-
ExecutionChromium loads planted shared object
-
ImpactExecute arbitrary code on host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Two concrete prerequisites per the advisory: (1) the default image renderer token ('authToken') has not been changed from its default or is otherwise known to the attacker, and (2) the attacker can network-reach the image renderer endpoint (specifically /render/csv). Exploitation targets the filePath parameter of the /render/csv endpoint to write a shared object that the bundled Chromium process then loads. Limiting factors: deployments that rotated 'authToken' to a secret value and restricted network access to the renderer (it is typically an internal service) substantially reduce exposure; only versions 1.0.0 through 4.0.16 are affected, and v4.0.17 remediates the path-traversal validation. |
| Impact | Signals are mixed. The CVSS base score is 9.9 (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H), reflecting network-reachable, low-complexity RCE with a scope change and full CIA impact - technically severe. However, EPSS is low at 0.64% (49th percentile), there is no CISA KEV listing, and no public exploit was identified at time of analysis, so this is 'no public exploit identified at time of analysis.' Per CVSS the attack is authenticated (PR:L), and the description clarifies that the 'authentication' is a shared 'authToken' that is only meaningful if it has been changed from its default - making the practical barrier much weaker than PR:L implies when operators run the default token. The realistic priority is high for any deployment exposing the image renderer with an unchanged/known token, but lower where the token has been rotated and the endpoint is network-isolated. The vendor (security@grafana.com) reported it and shipped a fix in v4.0.17, which independently corroborates the file-write/path-traversal root cause. No conflicting data on the vulnerability mechanics; the main nuance is that the low EPSS and absence of KEV suggest no widespread exploitation yet despite the critical score. |
| Exploit ScenarioDerived | An attacker who can reach the Grafana Image Renderer endpoint and possesses or guesses the default 'authToken' sends a crafted request to /render/csv with a malicious filePath, writing a shared object to an attacker-chosen location. The Chromium process subsequently loads that shared object, executing the attacker's code on the host. No public exploit was identified at time of analysis, and no user interaction is required (UI:N). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Remote code execution in Grafana Image Renderer 1.0.0 through 4.0.16 allows an attacker to write an arbitrary file - specifically a shared object - to a location that the bundled Chromium rendering process subsequently loads, achieving code execution on the renderer host. Exploitation requires two concrete prerequisites: the image renderer's default 'authToken' must still be in place (or otherwise known to the attacker), and the attacker must be able to reach the /render/csv endpoint over the network. The issue is rated CVSS 9.9 (network vector, low privileges, scope-changed, high confidentiality/integrity/availability impact); EPSS is 0.64% (49th percentile) and there is no public exploit identified at time of analysis, though the vendor has released a fix in v4.0.17 that adds path-traversal validation. Signals are mixed: the technical severity is critical, but exposure depends heavily on whether the token was rotated and whether the renderer is network-reachable.
RemediationAI
Upgrade grafana-image-renderer to v4.0.17, which introduces path-traversal validation on the render endpoints (vendor advisory: https://grafana.com/security/security-advisories/cve-2025-11539/, release: https://github.com/grafana/grafana-image-renderer/releases/tag/v4.0.17). Vendor-released patch: v4.0.17. If immediate upgrade is not possible, apply the two compensating controls that directly address the exploitation prerequisites: first, change the renderer's 'authToken' from its default value to a strong, unique secret and rotate it (this alone blocks unauthenticated use of /render/csv, though any party who learns the token is still able to exploit the flaw - an acceptable trade-off only as a stopgap); second, restrict network access to the image renderer service so that only Grafana itself can reach it, for example by binding it to localhost or a private interface, placing it behind a firewall/security group rule that permits only the Grafana server's address, or fronting it with a reverse proxy that strips external access to /render/csv. Restricting network reachability carries the side effect that legitimate external rendering clients will break and that Grafana must be configured with the loopback/internal renderer URL, and token rotation may require updating the renderer URL configured in Grafana's [rendering] settings.
Affected ProductsAI
The affected component is grafana-image-renderer, versions 1.0.0 through 4.0.16 inclusive, as stated in the vendor advisory at https://grafana.com/security/security-advisories/cve-2025-11539/ and confirmed by the remediation release notes at https://github.com/grafana/grafana-image-renderer/releases/tag/v4.0.17. Version 4.0.17 is the first fixed release. Grafana deployments are affected only where the image renderer service is installed and enabled - this is a separate service from Grafana core itself, and installations that use Grafana's own rendering or that do not deploy the renderer plugin are not in scope. Because the vulnerable endpoint is authenticated by the renderer's own 'authToken' rather than by Grafana user credentials, the practical affected set is any 1.0.0-4.0.16 renderer instance that retains the default token and is reachable on the network.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Grafana Image Renderer is a standalone Go service that drives a bundled Chromium (headless) instance to convert Grafana dashboards and panels into PNG/PDF/CSV output, and it is normally deployed as an internal sidecar or service behind Grafana. The root-cause class per CWE-94 (Improper Control of Generation of Code / Code Injection) is exercised here through a path-traversal flaw: the /render/csv endpoint accepts a filePath parameter whose value was not validated, allowing a caller to direct the write of a file - a shared object - to an arbitrary filesystem location. Because the renderer process loads native shared objects through the Chromium pipeline, an attacker-controlled .so placed at a location Chromium resolves at load time is executed within the renderer's trust context, converting a file-write primitive into code execution. The fix in v4.0.17 was implemented via PR #801 ('assert no path traversal in renders'), with a related traceparent/CORS hardening in PR #800. Authentication to the endpoint is enforced by the renderer's 'authToken', which ships with a default value; hosts that never rotated that secret remain reachable by anyone able to route to the service.
Know when Grafana gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Network-reachable endpoint (AV:N), low complexity when the default token is unchanged (AC:L), a shared token gates access (PR:L), and code execution breaks out of the renderer to the host (S:C) with full impact.
Primary rating from Vendor (grafana).
CVSS VectorVendor: grafana
DescriptionCVE.org
Grafana Image Renderer is vulnerable to remote code execution due to an arbitrary file write vulnerability. This is due to the fact that the /render/csv endpoint lacked validation of the filePath parameter that allowed an attacker to save a shared object to an arbitrary location that is then loaded by the Chromium process.
Instances are vulnerable if:
- The default token ("authToken") is not changed, or is known to the attacker.
- The attacker can reach the image renderer endpoint.
This issue affects grafana-image-renderer: from 1.0.0 through 4.0.16.
Executive ViewAI
Grafana Image Renderer, versions 1.0.0 through 4.0.16, contains a critical remote code execution vulnerability that could allow an attacker to compromise the rendering host. This impacts organizations using these versions, particularly if the renderer is network-accessible and the default authentication token has not been rotated. Leadership should prioritize immediate remediation to prevent potential data breaches, service disruptions, and reputational harm.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
The SQL Expressions experimental feature of Grafana allows for the evaluation of `duckdb` queries containing user input.
The `Release PR Merged` workflow in the github repo taosdata/grafanaplugin is subject to a command injection vulnerabili
An issue was discovered in Grafana through 7.3.4, when integrated with Zabbix. Rated critical severity (CVSS 9.8), this
A signature verification vulnerability exists in crewjam/saml. Rated critical severity (CVSS 9.8), this vulnerability is
Grafana 2.x, 3.x, and 4.x before 4.6.4 and 5.x before 5.2.3 allows authentication bypass because an attacker can generat
Authentication bypass in Grafana OnCall through 1.16.11 lets unauthenticated remote attackers mint a valid PluginAuthTok
Insertion of sensitive information in the centralized (Grafana) logging system in ProLion CryptoSpike 3.0.15P2 allows re
A cross-site scripting (XSS) vulnerability exists in Grafana caused by combining a client path traversal and open redire
The avatar feature in Grafana 3.0.1 through 7.0.1 has an SSRF Incorrect Access Control issue. Rated high severity (CVSS
Grafana is an open-source platform for monitoring and observability. Rated high severity (CVSS 7.5), this vulnerability
Grafana 8.4.3 allows unauthenticated access via (for example) a /dashboard/snapshot/*?orgId=0 URI. Rated high severity (
Grafana 8.4.3 allows reading files via (for example) a /dashboard/snapshot/%7B%7Bconstructor.constructor'/.. Rated high
NVD
CVE.org
EPSS
GitHub
Exploit-DB