Skip to main content

Grafana Image Renderer CVE-2025-11539

CRITICAL
Code Injection (CWE-94)
2025-10-09 security@grafana.com
9.9
CVSS 3.1 · Vendor: grafana
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach image renderer endpoint with default/known authToken
  2. Delivery
    Send crafted /render/csv request with malicious filePath
  3. Exploit
    Write shared object to arbitrary location
  4. Execution
    Chromium loads planted shared object
  5. Impact
    Execute 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).

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Vendor (grafana) PRIMARY 9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 9.9 CRITICAL

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (grafana).

CVSS VectorVendor: grafana

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

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:

  1. The default token ("authToken") is not changed, or is known to the attacker.
  2. The attacker can reach the image renderer endpoint.

This issue affects grafana-image-renderer: from 1.0.0 through 4.0.16.

Executive ViewAI

Why It Matters

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.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 51% exploitable
Prevalence
Medium
optional Grafana plugin; common in Grafana shops but not universally deployed
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.6%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Very High

Priority Score

51
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

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.

CVE-2024-9264 CRITICAL POC
9.4 Oct 18

The SQL Expressions experimental feature of Grafana allows for the evaluation of `duckdb` queries containing user input.

CVE-2023-34111 CRITICAL POC
9.8 Jun 06

The `Release PR Merged` workflow in the github repo taosdata/grafanaplugin is subject to a command injection vulnerabili

CVE-2022-26148 CRITICAL POC
9.8 Mar 21

An issue was discovered in Grafana through 7.3.4, when integrated with Zabbix. Rated critical severity (CVSS 9.8), this

CVE-2020-27846 CRITICAL POC
9.8 Dec 21

A signature verification vulnerability exists in crewjam/saml. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2018-15727 CRITICAL POC
9.8 Aug 29

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

CVE-2026-63087 CRITICAL POC
9.3 Jul 16

Authentication bypass in Grafana OnCall through 1.16.11 lets unauthenticated remote attackers mint a valid PluginAuthTok

CVE-2023-36649 CRITICAL POC
9.1 Dec 12

Insertion of sensitive information in the centralized (Grafana) logging system in ProLion CryptoSpike 3.0.15P2 allows re

CVE-2025-4123 HIGH POC
7.6 May 22

A cross-site scripting (XSS) vulnerability exists in Grafana caused by combining a client path traversal and open redire

CVE-2020-13379 HIGH POC
8.2 Jun 03

The avatar feature in Grafana 3.0.1 through 7.0.1 has an SSRF Incorrect Access Control issue. Rated high severity (CVSS

CVE-2023-1387 HIGH POC
7.5 Apr 26

Grafana is an open-source platform for monitoring and observability. Rated high severity (CVSS 7.5), this vulnerability

CVE-2022-32276 HIGH POC
7.5 Jun 17

Grafana 8.4.3 allows unauthenticated access via (for example) a /dashboard/snapshot/*?orgId=0 URI. Rated high severity (

CVE-2022-32275 HIGH POC
7.5 Jun 06

Grafana 8.4.3 allows reading files via (for example) a /dashboard/snapshot/%7B%7Bconstructor.constructor'/.. Rated high

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy