Grafana Labs Open Observability Platform
Don't miss out!
Thousands of developers use stack.watch to stay informed.Get an email whenever new security vulnerabilities are reported in any Grafana Labs product.
RSS Feeds for Grafana Labs security vulnerabilities
Create a CVE RSS feed including security vulnerabilities found in Grafana Labs products with stack.watch. Just hit watch, then grab your custom RSS feed url.
Products by Grafana Labs Sorted by Most Security Vulnerabilities since 2018
By the Year
In 2026 there have been 75 vulnerabilities in Grafana Labs with an average score of 6.6 out of ten. Last year, in 2025 Grafana Labs had 16 security vulnerabilities published. That is, 59 more vulnerabilities have already been reported in 2026 as compared to last year. Last year, the average CVE base score was greater by 0.61
| Year | Vulnerabilities | Average Score |
|---|---|---|
| 2026 | 75 | 6.63 |
| 2025 | 16 | 7.24 |
| 2024 | 11 | 6.74 |
| 2023 | 15 | 6.89 |
| 2022 | 24 | 7.13 |
| 2021 | 14 | 6.61 |
| 2020 | 12 | 7.12 |
| 2019 | 3 | 4.90 |
| 2018 | 4 | 6.95 |
It may take a day or so for new Grafana Labs vulnerabilities to show up in the stats or in the list of recent security vulnerabilities. Additionally vulnerabilities may be tagged under a different product or component name.
Recent Grafana Labs Security Vulnerabilities
| CVE | Date | Vulnerability | Products |
|---|---|---|---|
| CVE-2026-33379 | Nov 06, 2026 |
Grafana 12.4 Dashboard Snapshot Auth BypassA user with any role, including Viewer or a service account with no permissions, can create, externally publish, and delete dashboard snapshots (missing authorization). Only Grafana OSS and Grafana Enterprise 12.4 are affected; earlier versions and Grafana 13 are not. |
|
| CVE-2026-81938 | Nov 02, 2026 |
Grafana Mimir Alertmanager Local File Disclosure via HTTP Header Config - pre-3.1.7/3.2.2Grafana Mimir's Alertmanager rejects tenant-supplied receiver configurations that reference local files, but the check did not cover two HTTP client settings: http_headers.<name>.files and basic_auth.username_file. A tenant permitted to upload an Alertmanager configuration could point these fields at any file readable by the Alertmanager process. When a notification was sent, Alertmanager read the file and put its contents in a header of the outgoing request. By directing the receiver at a server they control, the tenant could read files from the Alertmanager host, such as credentials and configuration. Exploitation requires permission to write the tenant's Alertmanager configuration. Grafana Enterprise Metrics (GEM), which is built on Mimir, is also affected. The issue is fixed in Mimir 3.1.7 and 3.2.2 and in GEM 2.17.20. GEM 2.11 through 2.16 will not receive a fix; users on those versions should upgrade to 2.17.20 or later. |
|
| CVE-2026-79656 | Oct 28, 2026 |
Grafana Log Leak of OAuth/ID Tokens via Unredacted LoggingA user with read access to Grafana's server logs, or to a log store they are shipped to, can recover the OAuth and OIDC access, refresh and ID tokens of users who sign in through the Generic OAuth, Google or GitLab providers. Grafana writes these tokens to its logs unredacted when an access or ID token is not a valid JWT, when the ID token is missing (at debug level) or is not a string (exposure of sensitive information in log files). The exposure is bounded by the scopes granted to the configured OAuth client. |
|
| CVE-2026-103506 | Oct 28, 2026 |
Grafana13.2 AuthBypass: SSO client secrets read/modify via k8sSsoApiAn authenticated user in Grafana can read SSO client secrets and modify instance-wide SSO settings without the required permissions (missing authorization). This affects Grafana OSS and Enterprise 13.2 installations with the experimental kubernetesSsoSettingsApi feature toggle enabled, which is disabled by default. |
|
| CVE-2026-88858 | Oct 28, 2026 |
Grafana Viewer Recursion Crash via Math ExpressionA user with the Viewer role in Grafana can crash the server by submitting a crafted server-side math expression (uncontrolled recursion). A user with permission to provision alert rules can make the outage persist across restarts. |
|
| CVE-2026-88967 | Oct 28, 2026 |
Grafana Azure Monitor Data Source SSRF Exposes Azure Access TokenA user with query access to an Azure Monitor data source in Grafana can cause server-side requests to an attacker-controlled endpoint that disclose the data source's Azure access token (server-side request forgery). |
|
| CVE-2026-100105 | Oct 28, 2026 |
Grafana Contact Point Privilege Escalation via Legacy SchemaA user with permission to edit contact points but not their protected fields can change protected settings, such as a contact point's destination URL, by switching an integration to a legacy schema version, which can expose stored credentials and redirect alert notifications (incorrect authorization). |
|
| CVE-2026-16491 | Oct 27, 2026 |
Grafana RBAC Service Ignores Folder for Deleted Dashboard (CVE-2026-16491)Grafanas RBAC service ignored the requested folder when checking whether a user was a folder administrator for deleted dashboard listings. A user with dashboard permission-management rights on any folder could therefore be treated as an administrator of every folder. This could expose deleted dashboard items from folders where the user lacked administrative access. The fix requires permission on the specified folder, an ancestor, or a wildcard scope. |
|
| CVE-2026-92539 | Oct 20, 2026 |
Grafana Enterprise SCIM IDOR crossorg user editsA service account with user-management permissions in one organization can read, modify, disable or delete users belonging to other organizations on the same Grafana instance through the SCIM API (insecure direct object reference). Only Grafana Enterprise instances with SCIM enabled are affected. |
|
| CVE-2026-9703 | Oct 15, 2026 |
Grafana Data Source Proxy Bypass RCE: Viewer Role Can Modify Loki RulesGrafana's data source proxy did not apply role-based access control to write requests forwarded to Loki data sources. A user holding only the Viewer role on an affected Grafana instance could send POST, PUT and DELETE requests through the proxy to the Loki rules API (/loki/api/v1/rules), allowing them to create, modify and delete Loki alerting rules. Because those rules are stored by Loki rather than by Grafana, the change took effect for every user of that Loki data source, not only for the Viewer who made the request. Exploitation requires an authenticated Viewer account on the Grafana instance and a configured Loki data source; no other privileges are needed. Both Grafana OSS and Grafana Enterprise are affected. The defect is in Grafana's data source proxy; Loki itself is not vulnerable and does not need to be patched. |
|
| CVE-2026-95502 | Oct 13, 2026 |
Grafana Git Sync Uncontrolled Resource Consumption (Memory Exhaustion)A Git server that Grafana's Git Sync (provisioning) is configured to use can exhaust Grafana's memory by returning oversized or highly compressed responses (uncontrolled resource consumption). Exploitation requires an administrator to have configured Git Sync with that server. |
|
| CVE-2026-93294 | Oct 13, 2026 |
Grafana Azure Monitor Data Source Proxy Escalation via Unintended IdentityA user with query access to an Azure Monitor data source can use its resource proxy to call Azure Resource Manager APIs beyond those Grafana needs, with the data source's Azure identity (unintended proxy). The impact is bounded by the Azure role granted to that identity. |
|
| CVE-2026-33374 | Oct 13, 2026 |
Grafana Unbounded Memory Allocation via Prometheus Rule Conversion APIThe Prometheus rule conversion API endpoints in Grafana do not limit request body size, allowing authenticated users to trigger unbounded memory allocations that can crash the server through out-of-memory conditions. |
|
| CVE-2026-15577 | Oct 13, 2026 |
Grafana 12.4 R/O User Overwrites Conn Conf via Status SubresourceA user or service account with read-only access to Git Sync (provisioning) connections can modify a connection's configuration through its status subresource (incorrect authorization). On Grafana 12.4 the affected API is only available when the experimental provisioning feature toggle is enabled. |
|
| CVE-2026-89039 | Oct 05, 2026 |
Grafana k6 v0.3.0+ File Path Disclosure via convert_playwright_script PromptA caller who can invoke the convert_playwright_script prompt in mcp-k6 can pass a bare file path as the playwright_script argument and receive the contents of any file readable by the user running the server, including SSH keys and cloud credentials in that user's home directory (path traversal). The working-directory restriction applied to '@'-prefixed paths can also be bypassed with a symbolic link inside the working directory that points outside it. |
|
| CVE-2026-13720 | Sep 30, 2026 |
Grafana Dashboard API Allows Unauthorized FileProvisioning Metadata InjectionAn Editor can set file-provisioning metadata (the grafana.app/managedBy, grafana.app/managerId and grafana.app/sourcePath annotations) when creating a dashboard through the dashboard API, because these fields were stored without an authorization check. The dashboard then appears file-provisioned, and administrators can no longer update or delete it through Grafana. The impact is limited to the same organization and no data is exposed. |
|
| CVE-2026-13719 | Sep 30, 2026 |
Grafana 13.1.0 Alert Rules API Info Exposure via Folder FilterAn authenticated user can list alert rules stored in folders they are not allowed to read through the alert rules API list endpoint. When the set of folders the user may read was empty, the folder restriction was dropped and every alert rule in the organization was returned. From Grafana 13.1.0, any user can trigger this with a folder filter. The exposed data is rule configuration; data source credentials are not exposed. |
|
| CVE-2026-81842 | Sep 29, 2026 |
Grafana Library Panel AuthZ Bypass via Folder Move APIAn authenticated user with edit permission on one folder can move a library panel into another folder where they only have view permission, through the library elements API or the equivalent App Platform resource. The update path did not check library panel create permission on the destination folder (incorrect authorization). No data from the destination folder is disclosed, and existing content there cannot be changed. |
|
| CVE-2026-81841 | Sep 29, 2026 |
Grafana Paused Dashboard Auth Bypass via Unrevoked Access Token - CVE-2026-81841Pausing a shared (public) dashboard did not revoke its access token for the endpoints that serve frontend bootstrap data. Anyone holding the link to a paused shared dashboard could still retrieve, without authenticating, the configuration of the dashboard's data sources, including stored credentials for data sources using browser access (missing authorization). Deleting the shared dashboard does revoke the token. |
|
| CVE-2026-15815 | Sep 17, 2026 |
Grafana RCE via Unsafe Plugin Archive Extraction (CVE-2026-15815)Grafana OSS and Grafana Enterprise did not safely resolve symbolic links when extracting plugin archives. A crafted plugin archive can chain relative symbolic link entries to escape the plugin installation directory, writing arbitrary files and an executable backend binary outside that directory. The dropped executable runs with the privileges of the Grafana server process, resulting in remote code execution. Plugin archives are extracted before their signature is verified, so a valid plugin signature does not prevent the write. An operator 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. Grafana Enterprise is affected because it includes the same plugin extraction code as Grafana OSS. |
|
| CVE-2026-76154 | Sep 17, 2026 |
Grafana GeoMap Panel XSS in MapLibre Base Layer EscalationA stored cross-site scripting vulnerability in the Geomap panel's MapLibre base layer allows a user with the Editor role to execute arbitrary JavaScript in another user's session by hosting a malicious style configuration, enabling escalation to Org Admin. |
|
| CVE-2026-14199 | Sep 02, 2026 |
Auth Proxy Cache Key Collision in Grafana Allows Auth Bypass (CVE202614199)Only self-managed Grafana instances with Auth Proxy authentication and identity caching enabled (sync_ttl greater than zero) are affected. The Auth Proxy cache key concatenated the username and forwarded identity attributes without a delimiter, so distinct identities could collide on one key. An authenticated user who shapes their own attributes to collide with a higher-privileged user's, while that user's cache entry is live, is authenticated as that user, up to Administrator (authentication bypass by spoofing). |
|
| CVE-2026-12704 | Sep 02, 2026 |
Grafana Enterprise SAML Replay Vulnerability via InResponseTo SkipWhen SAML IdP-initiated login is enabled in Grafana Enterprise, the SAML library skips validation of the InResponseTo field on all SAML responses, including SP-initiated logins. This removes anti-replay protection, allowing an attacker who obtains a valid signed SAML assertion to replay it and gain a session as the victim user. Only instances with the allow_idp_initiated SAML setting enabled are affected; this setting is off by default and Grafana OSS is not affected. |
|
| CVE-2026-19475 | Sep 02, 2026 |
Grafana Denial-of-Service via SQL Macro InjectionAn authenticated user with permission to query a SQL data source can bypass the fix for CVE-2026-33375 by injecting the timeGroup macro through a WHERE clause, which Grafana's regex-based macro parsing does not reject. Evaluating the injected macro causes uncontrolled memory consumption that can terminate the Grafana server process, resulting in a denial of service. The Microsoft SQL Server, PostgreSQL, and MySQL data sources are affected. |
|
| CVE-2026-75889 | Aug 27, 2026 |
Grafana Alloys ServiceMonitor bearerTokenFile LFDGrafana Alloys prometheus.operator.servicemonitors component allows a user who can create or modify ServiceMonitor resources in a watched namespace to specify an arbitrary local file through bearerTokenFile. Alloy reads the file and sends its contents as a bearer token to an attacker-controlled scrape endpoint. This may disclose files accessible to the Alloy process, including its projected Kubernetes service account token, potentially granting the attacker Alloys Kubernetes permissions. Exploitation requires ServiceMonitor write access and lower privileges than Alloys service account. |
|
| CVE-2026-19854 | Aug 27, 2026 |
Grafana ClickHouse Plugin TLS Bypass via PDC/secure SOCKSWhen the ClickHouse plugin uses Native protocol (the default) with PDC or secure SOCKS, it asks for TLS but the connection library ignores that and talks to ClickHouse in the clear. Username, password, queries, and results can be read on the hop after the proxy. The server certificate is never checked, and a configured client certificate is not sent. |
|
| CVE-2026-19197 | Aug 26, 2026 |
Grafana: Insecure Deletion of CrossOrg Dashboard Snapshots (CVE202619197)A user with organization administrator permissions can delete dashboard snapshots belonging to other organizations on the same Grafana instance, and can recover a snapshot's secret delete key using only its public share key (broken access control). |
|
| CVE-2026-17033 | Aug 24, 2026 |
Grafana XSS via alert.generatorURL in external Alertmanager alertsAn authenticated attacker with Editor access or alert.instances.external:write can submit an external Alertmanager alert containing a controlled generatorURL. The attacker is authorized to create the alert, but not to execute script in another user's Grafana session. Grafana renders alert.generatorURL directly as the Alert Details See source LinkButton href without URL-scheme sanitization or a safe-protocol allowlist. The click interceptor's :// heuristic can be bypassed by placing :// inside a JavaScript comment. When a user with read access clicks See source, the browser executes attacker-controlled JavaScript in the Grafana origin with the clicking user's permissions. |
|
| CVE-2026-17183 | Aug 19, 2026 |
Grafana Alert Rule Query Auth Bypass via SSRAn authenticated user with permission to create or edit alert rules can bypass datasource query authorization by marking an alert rule query as a server-side expression while referencing a real datasource UID (incorrect authorization). This can expose data accessible through Grafana's configured datasource credentials to users who lack permission to query that datasource. |
|
| CVE-2026-11817 | Aug 17, 2026 |
Grafana Cross-Org Info Disclosure via /api/access-controlThis vulnerability only affects Grafana stacks configured with multiple organizations; single-organization deployments are not impacted. In a multi-organization stack, a user who is an Org Admin of a single organization can call GET /api/access-control/users/permissions/search?actionPrefix=dashboards: and receive permission data belonging to other organizations. The disclosed data is limited to dashboard and folder identifiers (UIDs) and per-user permission/scope mappings (which user holds which access on which dashboard). Dashboard contents, panels, query results, datasource credentials, secrets, and personal data are not exposed. This is a limited cross-organization information disclosure affecting multi-org deployments only. |
|
| CVE-2026-19516 | Aug 11, 2026 |
SSR In Grafana mcp-grafana via X-Grafana-URL HeaderA caller-supplied X-Grafana-URL request header controls the destination of mcp-grafana's outbound requests, and the grafana_api_request tool lets the caller also choose the HTTP method, path, and body. Because the destination is not restricted to the configured Grafana instance, a caller can direct requests at internal, loopback, and link-local network services (including metadata endpoints) and read the responses, resulting in server-side request forgery. The fix for CVE-2026-15583 prevented the configured service-account token from being sent to unintended destinations but did not restrict the destinations themselves. |
|
| CVE-2026-72585 | Aug 10, 2026 |
Grafana <=13.2.0 Editor Bypass Deleting Protected Contact Points |
|
| CVE-2026-9765 | Jul 24, 2026 |
Grafana Access Control Bypass (CVE-2026-9765)Note: The CVE and blog post don't exist because we determined this is actually a cloud-only issue. Access Controls are Broken when a user can access resources they are not authorized to access. An attacker can bypass any access control mechanisms in a web application, and gain unauthorized access to resources that are not available with their permissions. Broken access control can allow attackers to: Access resources only accessible to certain users, thus allowing unauthorized access to data Perform operations on behalf of other users, leading to account takeovers in the worst cases Attempt privilege escalation Attempt to take over an account |
|
| CVE-2026-21723 | Jul 23, 2026 |
Grafana Alertmanager Templates OOM via Unlimited ExecThe alertmanager templates test endpoint (/api/alertmanager/grafana/config/api/v1/templates/test) can execute templates with no memory limits. Mass-executing templates in a short period causes OOM and crashes the Grafana service. The endpoint requires very low privileges and is exploitable with anonymous access enabled. |
|
| CVE-2026-21729 | Jul 16, 2026 |
Loki large limits memory alloc DoSLoki queries with large limits can cause large memory allocations which can impact the availability of the service, depending on its deployment strategy. |
|
| CVE-2026-15583 | Jul 15, 2026 |
Unauthenticated Exfiltration via Confused-Deputy in Grafana MCP ServerA confused-deputy flaw in Grafana MCP Server allows an unauthenticated remote attacker to exfiltrate the server's environment-configured Grafana service-account token by supplying a crafted X-Grafana-URL request header. This also enables SSRF against arbitrary internal services, including cloud metadata endpoints. |
|
| CVE-2026-8595 | Jul 10, 2026 |
Grafana Dashboard TableNG XSS via Malicious Field NameA user with Editor permissions can craft a dashboard whose table (TableNG) panel contains a malicious field name that executes as a script in the browser of any user who views the dashboard (stored cross-site scripting). |
|
| CVE-2026-8609 | Jul 10, 2026 |
Grafana OAuth Login Repeated Calls Causing Unbounded Memory Growth (DoS)An unauthenticated attacker can repeatedly call Grafana's OAuth login route with unique values, causing unbounded memory growth that can eventually exhaust memory and crash the Grafana instance (denial of service). |
|
| CVE-2026-33382 | Jul 10, 2026 |
Grafana API Unauthenticated Oversize DoSSeveral Grafana API endpoints, some of them unauthenticated, do not limit the size of the request body before processing it. An attacker can send very large payloads that force excessive memory allocation, potentially exhausting memory and causing a denial of service. |
|
| CVE-2026-28378 | Jul 07, 2026 |
Grafana Public Dashboard Deletion Endpoint Org Isolation BypassThe public dashboard deletion endpoint does not enforce organization isolation, allowing an Org Admin in one organization to delete public dashboards belonging to a different organization by supplying the target dashboard's identifiers. |
|
| CVE-2026-42127 | Jun 22, 2026 |
Grafana Public Dashboard Query DoS via Unbounded JSON SizeThe public dashboard query endpoint does not limit request body size before processing, allowing unauthenticated attackers to trigger excessive memory allocation by sending arbitrarily large JSON payloads. This can lead to denial of service through memory exhaustion. No valid dashboard access token or authentication is required to exploit this vulnerability. |
|
| CVE-2026-28381 | Jun 22, 2026 |
Grafana Snowflake Datasource GET/PUT Allows Unauthorized File TransferThe Snowflake datasource allows for GET/PUT commands, which can allow any user with access to run queries against the data source to read/write files between the local grafana server and the connected Snowflake host. |
|
| CVE-2026-9029 | Jun 22, 2026 |
Grafana Geomap Panel XSS via sanitize-then-interpolate bugA user with Editor permissions can place a malicious script in the attribution field of a Geomap panel's XYZ tile layer via a template variable. The script then executes in the browser of any user who views the affected dashboard (stored cross-site scripting). |
|
| CVE-2026-10601 | Jun 22, 2026 |
Grafana Tempo/Loki Plugins: Unsanitized URL Path Traversal Exposes Admin CredentialsA user with Viewer permissions can use specially crafted requests to the Tempo and Loki data source plugins to reach unintended backend endpoints. Depending on the backend configuration this can expose data source credentials, leak internal responses, or trigger administrative actions on the configured backend. |
|
| CVE-2026-42129 | Jun 22, 2026 |
Grafana Loki Datasource Plugin Path Traversal (callResource)A user with Viewer permissions can use a path traversal in the Loki data source plugin to reach administrative Loki endpoints and read sensitive backend configuration and internal service information. |
|
| CVE-2026-27878 | Jun 19, 2026 |
Grafana Tempo TraceQL OOM with Excessive Exemplars HintA TraceQL query in Grafana Tempo with a large exemplars hint value can cause the Tempo instance to allocate an excessive amount of memory, resulting in an out-of-memory crash. This could allow an authenticated user to trigger a denial of service against the Tempo service. |
|
| CVE-2026-11769 | Jun 13, 2026 |
Grafana Operator <=5.23 Path Traversal PrivEsc via Jsonnet 5.24.0 FixedWe have released version 5.24.0 of the Grafana Operator. This patch includes a MEDIUM severity security fix for a path traversal/privilege escalation vulnerability in the Grafana Operator. ### Summary The Grafana Operator supports loading dashboards & library panels using the jsonnet data templating language. The jsonnet expression is evaluated in the context of the operator manager pod. ### Impact It is possible for a malicious user who can create Dashboard or LibraryPanel resources for a Grafana instance to obtain the Kubernetes service account token of the Grafana Operator manager. ### Affected versions All Grafana Operator versions <= 5.23 ### Solutions and mitigations All installations should be upgraded as soon as possible. As a workaround, the following ValidatingAdmissionPolicy prevent the creation or modification of jsonnet based resources: apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicy metadata: name: "prevent-jsonnet-dashboards" spec: failurePolicy: Fail matchConstraints: resourceRules: - apiGroups: ["grafana.integreatly.org"] apiVersions: ["v1beta1"] operations: ["CREATE", "UPDATE"] resources: ["grafanadashboards", "grafanalibrarypanels"] validations: - expression: "!has(object.spec.jsonnetLib)" --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingAdmissionPolicyBinding metadata: name: "prevent-jsonnet-dashboards-clusterwide" spec: policyName: "prevent-jsonnet-dashboards" validationActions: [Deny] ### Acknowledgement We would like to thank Artem Cherezov for responsibly disclosing the vulnerability. |
|
| CVE-2026-28374 | May 13, 2026 |
Grafana Annotation Delete Bypass for EditorsEditors could delete any annotation, even those they do not have read access to. The editor user cannot create or read the annotations. |
|
| CVE-2026-33378 | May 13, 2026 |
Grafana OOM: $__timeGroup Macro Overloads ServerUsing the $__timeGroup macro, one can achieve an OOM by overloading the server. This requires a SQL datasource. If the server is set up to auto-restart, the impact is minimal or non-existent, as the attack can take upwards of half an hour to crash the server. |
|
| CVE-2026-28383 | May 13, 2026 |
Grafana Plugin Resources OOM DoS via Authenticated UserA request to the Grafana plugin resources endpoint can cause unbounded memory allocation by reading the entire request body into memory. An authenticated user can exploit this to trigger an out-of-memory condition, potentially causing a denial of service. |
|