Bug 2527474 (CVE-2026-15815)

Summary: CVE-2026-15815 grafana: PLUGIN ARCHIVE EXTRACTION ESCAPES THE PLUGIN DIRECTORY, ALLOWING CODE EXECUTION
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: amctagga, aoconnor, bniver, flucifre, gmeno, gparvin, groman, jbalunas, lchilton, mbenjamin, mhackett, rhaigner, rhel-process-autobot, security-response-team, sfeifer, sostapov, tsze, vereddy, watson-tool-maintainers
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in Grafana. When extracting plugin archives, Grafana did not safely resolve symbolic links. A remote attacker could craft a malicious plugin archive with symbolic links to escape the plugin installation directory. This allows the attacker to write arbitrary files and execute malicious code with the privileges of the Grafana server process, leading to remote code execution.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2544604    
Bug Blocks:    

Description OSIDB Bzimport 2026-09-02 14:08:44 UTC
Short description of the vulnerability: Grafana did not safely resolve symbolic links when extracting plugin archives. A crafted archive can chain relative symbolic-link entries to escape the plugin installation directory, write arbitrary files, and drop an executable backend binary outside that directory. The dropped executable runs with the privileges of the Grafana server process, which is remote code execution. Plugin archives are extracted before their signature is verified, so a valid signature does not prevent the write, and the payload also passes catalogue validation and signing. An instance can therefore be affected by installing a plugin that appears legitimate, as well as by installing a plugin from an arbitrary archive using grafana-cli, the GF_INSTALL_PLUGINS environment variable, or preinstall configuration. 

Affected versions: Grafana OSS and Grafana Enterprise: 12.0.0 to 12.0.10, 12.1.0 to 12.1.10, 12.2.0 to 12.2.10, 12.3.0 to 12.3.11, 12.4.0 to 12.4.9, 13.0.0 to 13.0.7, 13.1.0 to 13.1.4, and 13.2.0. 

Known mitigations: 

Update to one of the private builds listed above. There is no configuration that fully mitigates this beforehand: plugin signing does not help, because extraction runs before signature verification, and catalogue review does not help, because the validator flattens the symbolic links and sees a benign plugin. Until you have updated, reduce exposure by not installing plugins from arbitrary archives, limiting installation to a vetted and pinned set of plugins, and keeping plugin_admin_enabled off where it is not needed.

Comment 1 Jon Orris 2026-10-15 10:15:59 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:83544 https://access.redhat.com/errata/RHSA-2026:83544

Comment 3 errata-xmlrpc 2026-11-11 03:55:30 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:98056 https://access.redhat.com/errata/RHSA-2026:98056

Comment 4 errata-xmlrpc 2026-11-11 11:52:38 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:98454 https://access.redhat.com/errata/RHSA-2026:98454