VersionDrift
Product

Grafana 12.3.1 → 12.4.8

19 releases · 1 breaking change · 54 security fixes · 21 advisories fixed

54security1breaking0deprecated81feature23fix

Vulnerabilities fixed by this upgrade

  • 5.3 CVE-2026-8609 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 (de…
  • 7.5 CVE-2026-33382 Several 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 all…
  • 3.1 CVE-2026-28378 The 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 supply…
  • 7.5 CVE-2026-42127 The 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 p…
  • 6.5 CVE-2026-28380 Any Editor could delete any snapshot, even if they have no access to read or write them.
  • 6.5 CVE-2026-28383 A 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-…
  • 7.4 CVE-2026-33376 When using an IPv6 allow-list for the Auth Proxy feature, it defaults to /32 addresses. Addresses specifying a mask explicitly are not affected; to mitigate easily, add the desired mask (usually /1…
  • 7.1 CVE-2026-33377 An Editor can overwrite a dashboard not owned by them to acquire admin on that specific dashboard. The user must have write access to the dashboard to escalate privilege.
  • 6.5 CVE-2026-33378 Using 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 th…
  • 6.3 CVE-2026-33380 A vulnerability in SQL Expressions allows an authenticated attacker to read arbitrary files from the Grafana server's filesystem. Only instances with the sqlExpressions feature toggle enabled are v…
  • 5.9 CVE-2026-33381 When a user's access to mint tokens for a service account is revoked, it is sometimes still possible to do so for a few seconds after the event. The user will eventually lose access to do this.
  • 4.3 CVE-2026-28374 Editors could delete any annotation, even those they do not have read access to. The editor user cannot create or read the annotations.
  • 6.5 CVE-2026-28376 The Grafana Live push endpoint can be exploited to cause unbounded memory allocation by sending a large or streaming request body, potentially leading to out-of-memory conditions. An authenticated…
  • 6.5 CVE-2026-28379 A race condition in Grafana Live allows authenticated users with Viewer role to trigger a server crash by sending concurrent requests that cause a fatal map access error. This results in complete s…
  • 3.3 CVE-2026-21727 A cross-tenant isolation vulnerability was found in Grafana’s Correlations feature affecting legacy correlation records. Due to a backward compatibility condition allowing org_id = 0 records to be…
  • 6.5 CVE-2026-33375 The Grafana MSSQL data source plugin contains a logic flaw that allows a low-privileged user (Viewer) to bypass API restrictions and trigger a catastrophic Out-Of-Memory (OOM) memory exhaustion, cr…
  • 5.4 CVE-2026-21724 A vulnerability has been discovered in Grafana OSS where an authorization bypass in the provisioning contact points API allows users with Editor role to modify protected webhook URLs without the re…
  • 2.6 CVE-2026-21725 A time-of-create-to-time-of-use (TOCTOU) vulnerability lets recently deleted-then-recreated data sources be re-deleted without permission to do so. This requires several very stringent conditions…
  • 5.3 CVE-2026-21722 Public dashboards with annotations enabled did not limit their annotation timerange to the locked timerange of the public dashboard. This means one could read the entire history of annotations visi…
  • 6.8 CVE-2025-41117 Stack traces in Grafana's Explore Traces view can be rendered as raw HTML, and thus inject malicious JavaScript in the browser. This would require malicious JavaScript to be entered into the stack…
  • 8.1 CVE-2026-21721 The dashboard permissions API does not verify the target dashboard scope and only checks the dashboards.permissions:* action. As a result, a user who has permission management rights on one dashboa…

Breaking changes

  • breaking Plugins: Prevent passing host environment variables to plugin processes by default in 12.4.0

Security changes

  • security Security: CVE-2026-9029 in 12.4.4
  • security Security: CVE-2026-33382 in 12.4.4
  • security Security: CVE-2026-42127 in 12.4.4
  • security Security: CVE-2026-42129 in 12.4.4
  • security Security: CVE-2026-10601 in 12.4.4
  • security Security: CVE-2026-8609 in 12.4.4
  • security Security: CVE-2026-8595 in 12.4.4
  • security Fixes CVE-2026-33376: When using an IPv6 allow-list for the Auth Proxy feature, it defaults to /32 addresses. Addresses specifying a mask explicitly are not affected; to mitigate easily, add the desired mask (usually /1… in 12.4.3
  • security Fixes CVE-2026-33377: An Editor can overwrite a dashboard not owned by them to acquire admin on that specific dashboard. The user must have write access to the dashboard to escalate privilege. in 12.4.3
  • security Fixes CVE-2026-28380: Any Editor could delete any snapshot, even if they have no access to read or write them. in 12.4.3
  • security Fixes CVE-2026-28383: A 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-… in 12.4.3
  • security Fixes CVE-2026-33378: Using 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 th… in 12.4.3
  • security Fixes CVE-2026-28376: The Grafana Live push endpoint can be exploited to cause unbounded memory allocation by sending a large or streaming request body, potentially leading to out-of-memory conditions. An authenticated… in 12.4.3
  • security Fixes CVE-2026-28379: A race condition in Grafana Live allows authenticated users with Viewer role to trigger a server crash by sending concurrent requests that cause a fatal map access error. This results in complete s… in 12.4.3
  • security Fixes CVE-2026-33380: A vulnerability in SQL Expressions allows an authenticated attacker to read arbitrary files from the Grafana server's filesystem. Only instances with the sqlExpressions feature toggle enabled are v… in 12.4.3
  • security Fixes CVE-2026-33381: When a user's access to mint tokens for a service account is revoked, it is sometimes still possible to do so for a few seconds after the event. The user will eventually lose access to do this. in 12.4.3
  • security Fixes CVE-2026-28374: Editors could delete any annotation, even those they do not have read access to. The editor user cannot create or read the annotations. in 12.4.3
  • security Security: Fixes CVE-2026-27876 in 12.4.2
  • security Security: Fixes CVE-2026-27877 in 12.4.2
  • security Security: Fixes CVE-2026-28375 in 12.4.2
  • security Security: Fixes CVE-2026-27879 in 12.4.2
  • security Security: Fixes CVE-2026-27880 in 12.4.2
  • security Security: Fixes CVE-2026-33375 in 12.4.2
  • security Fixes CVE-2026-21725: A time-of-create-to-time-of-use (TOCTOU) vulnerability lets recently deleted-then-recreated data sources be re-deleted without permission to do so. This requires several very stringent conditions… in 12.4.1
  • security Fixes CVE-2026-27876: A chained attack via SQL Expressions and a Grafana Enterprise plugin can lead to a remote arbitrary code execution impact (RCE). This is enabled by a feature in Grafana (OSS), so all users are alwa… in 12.4.0
  • security Fixes CVE-2026-27880: The OpenFeature feature toggle evaluation endpoint reads unbounded values into memory, which can cause out-of-memory crashes. in 12.4.0
  • security Fixes CVE-2026-27877: When using public dashboards and direct data-sources, all direct data-sources' passwords are exposed despite not being used in dashboards. No passwords of proxied data-sources are exposed. We enco… in 12.4.0
  • security Fixes CVE-2026-27879: A resample query can be used to trigger out-of-memory crashes in Grafana. in 12.4.0
  • security Fixes CVE-2026-28375: A testdata data-source can be used to trigger out-of-memory crashes in Grafana. in 12.4.0
  • security CVE-2026-17183 in 12.3.11
  • security Security: CVE-2026-33382 in 12.3.7
  • security Security: CVE-2026-42127 in 12.3.7
  • security Security: CVE-2026-42129 in 12.3.7
  • security Security: CVE-2026-10601 in 12.3.7
  • security Security: CVE-2026-8609 in 12.3.7
  • security Fixes CVE-2026-33376: When using an IPv6 allow-list for the Auth Proxy feature, it defaults to /32 addresses. Addresses specifying a mask explicitly are not affected; to mitigate easily, add the desired mask (usually /1… in 12.3.6
  • security Fixes CVE-2026-33377: An Editor can overwrite a dashboard not owned by them to acquire admin on that specific dashboard. The user must have write access to the dashboard to escalate privilege. in 12.3.6
  • security Fixes CVE-2026-28380: Any Editor could delete any snapshot, even if they have no access to read or write them. in 12.3.6
  • security Fixes CVE-2026-28383: A 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-… in 12.3.6
  • security Fixes CVE-2026-33378: Using 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 th… in 12.3.6
  • security Fixes CVE-2026-28376: The Grafana Live push endpoint can be exploited to cause unbounded memory allocation by sending a large or streaming request body, potentially leading to out-of-memory conditions. An authenticated… in 12.3.6
  • security Fixes CVE-2026-28379: A race condition in Grafana Live allows authenticated users with Viewer role to trigger a server crash by sending concurrent requests that cause a fatal map access error. This results in complete s… in 12.3.6
  • security Fixes CVE-2026-33375: The Grafana MSSQL data source plugin contains a logic flaw that allows a low-privileged user (Viewer) to bypass API restrictions and trigger a catastrophic Out-Of-Memory (OOM) memory exhaustion, cr… in 12.3.6
  • security Fixes CVE-2026-33380: A vulnerability in SQL Expressions allows an authenticated attacker to read arbitrary files from the Grafana server's filesystem. Only instances with the sqlExpressions feature toggle enabled are v… in 12.3.6
  • security Fixes CVE-2026-33381: When a user's access to mint tokens for a service account is revoked, it is sometimes still possible to do so for a few seconds after the event. The user will eventually lose access to do this. in 12.3.6
  • security Fixes CVE-2026-21724: A vulnerability has been discovered in Grafana OSS where an authorization bypass in the provisioning contact points API allows users with Editor role to modify protected webhook URLs without the re… in 12.3.6
  • security Fixes CVE-2026-28374: Editors could delete any annotation, even those they do not have read access to. The editor user cannot create or read the annotations. in 12.3.6
  • security Security: Fixes CVE-2026-27876 in 12.3.6
  • security Security: Fixes CVE-2026-27877 in 12.3.6
  • security Security: Fixes CVE-2026-28375 in 12.3.6
  • security Security: Fixes CVE-2026-27879 in 12.3.6
  • security Security: Fixes CVE-2026-27880 in 12.3.6
  • security Fixes CVE-2026-21727: A cross-tenant isolation vulnerability was found in Grafana’s Correlations feature affecting legacy correlation records. Due to a backward compatibility condition allowing org_id = 0 records to be… in 12.3.3
  • security Fixes CVE-2025-41117: Stack traces in Grafana's Explore Traces view can be rendered as raw HTML, and thus inject malicious JavaScript in the browser. This would require malicious JavaScript to be entered into the stack… in 12.3.2

Every release in between

featureDashboards: Get annotations and dashboard endpoint performance improvements
fixDashboardDS: Fix Mixed panels with a time override stuck in permanent loading
featureAlerting: Add protected fields authorization check to provisioning API
featureAlerting: Return 403 instead of 500 on contact point provenance mismatch
featureGo: Update version to 1.26.5
fixJaeger: Handle gzip, deflate, and brotli compressed API responses
fixalerting: fix ORM table mapping bug causing SELECT alert_rule columns FROM user on PostgreSQL
featureDocker: Bump Alpine-based images to 3.24.1
fixDatasources: return 400 when payload UID does not match URL UID in PUT /api/datasources/uid/:uid
featureBrowse dashboards: Make elements visible and flow better when zoomed
featureDocker: Bump Alpine-based images to 3.23.4
featureGo: Update version to 1.26.3
featureGraphite: Strip tagged path from tags.name when aliasSub wrapping is detected
featureLibraryPanels: Return 403 instead of 500 for insufficient permissions
featurePlugins: Sanitise header values to printable ASCII for gRPC compatibility
fixAlerting: Fix AlertManagerPicker visibility to check Alertmanager datasources
fixAlerting: Treat not found error when fetching plugins as not installed
fixDashboardDS: Fix Mixed panels not updating on time-range change with stale upstreams
fixJaeger: Fix log event timestamp unit conversion in trace view
fixPostgreSQL: Allow sql_engine to return results for EXPLAIN queries
securitySecurity: CVE-2026-9029
securitySecurity: CVE-2026-33382
securitySecurity: CVE-2026-42127
securitySecurity: CVE-2026-42129
securitySecurity: CVE-2026-10601
securitySecurity: CVE-2026-8609
securitySecurity: CVE-2026-8595
securityFixes CVE-2026-33376: When using an IPv6 allow-list for the Auth Proxy feature, it defaults to /32 addresses. Addresses specifying a mask explicitly are not affected; to mitigate easily, add the desired mask (usually /1…
securityFixes CVE-2026-33377: An Editor can overwrite a dashboard not owned by them to acquire admin on that specific dashboard. The user must have write access to the dashboard to escalate privilege.
securityFixes CVE-2026-28380: Any Editor could delete any snapshot, even if they have no access to read or write them.
securityFixes CVE-2026-28383: A 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-…
securityFixes CVE-2026-33378: Using 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 th…
securityFixes CVE-2026-28376: The Grafana Live push endpoint can be exploited to cause unbounded memory allocation by sending a large or streaming request body, potentially leading to out-of-memory conditions. An authenticated…
securityFixes CVE-2026-28379: A race condition in Grafana Live allows authenticated users with Viewer role to trigger a server crash by sending concurrent requests that cause a fatal map access error. This results in complete s…
securityFixes CVE-2026-33380: A vulnerability in SQL Expressions allows an authenticated attacker to read arbitrary files from the Grafana server's filesystem. Only instances with the sqlExpressions feature toggle enabled are v…
securityFixes CVE-2026-33381: When a user's access to mint tokens for a service account is revoked, it is sometimes still possible to do so for a few seconds after the event. The user will eventually lose access to do this.
securityFixes CVE-2026-28374: Editors could delete any annotation, even those they do not have read access to. The editor user cannot create or read the annotations.
featureAnalytics: Keep internal dashboard id
featureGo: Update to 1.25.9
featureReporting: Correctly apply appSubURL to report settings requests (Enterprise)
fixAlerting: Document Grafana HA Alertmanager cluster metrics prefix change in Grafana 12.4
featureAnalytics tab: Improve voice over accessibility (Enterprise)
featureDashboards a11y: Do not open time zonemenu on focus
featureDashboards: Resolve display names by identity in version history
featurePlugins: Forward AWS SDK credential chain env vars to external AWS plugins
featurePublic Dashboards: Prevent unintended CRUD operations from different orgs
fixIAM: Handle NULL team_member.external column to fix dashboard loading
fixPlugins: Fix installer IsDisabled condition
fixPlugins: Forward PLUGIN_UNIX_SOCKET_DIR to plugin processes to fix tmp dir in restricted environments
securitySecurity: Fixes CVE-2026-27876
securitySecurity: Fixes CVE-2026-27877
securitySecurity: Fixes CVE-2026-28375
securitySecurity: Fixes CVE-2026-27879
securitySecurity: Fixes CVE-2026-27880
securitySecurity: Fixes CVE-2026-33375
securityFixes CVE-2026-21725: A time-of-create-to-time-of-use (TOCTOU) vulnerability lets recently deleted-then-recreated data sources be re-deleted without permission to do so. This requires several very stringent conditions…
featureAccessControl: Invalidate scope resolver cache on datasource deletion
featureGo: Update to 1.25.8
featureRendering: Add support for custom CA certs in Image Renderer
fixAccessControl: Fix test utility for datasource deletion permissions cleanup (Enterprise)
fixAlerting: Change scope for testing new receivers to use supported resource type.
fixAlerting: Fix CollateAlertRuleGroup migration for MariaDB compatibility
securityFixes CVE-2026-27876: A chained attack via SQL Expressions and a Grafana Enterprise plugin can lead to a remote arbitrary code execution impact (RCE). This is enabled by a feature in Grafana (OSS), so all users are alwa…
securityFixes CVE-2026-27880: The OpenFeature feature toggle evaluation endpoint reads unbounded values into memory, which can cause out-of-memory crashes.
securityFixes CVE-2026-27877: When using public dashboards and direct data-sources, all direct data-sources' passwords are exposed despite not being used in dashboards. No passwords of proxied data-sources are exposed. We enco…
securityFixes CVE-2026-27879: A resample query can be used to trigger out-of-memory crashes in Grafana.
securityFixes CVE-2026-28375: A testdata data-source can be used to trigger out-of-memory crashes in Grafana.
featureAPI: Add missing scope check on dashboards
featureAlerting Enrichment: Add new RBAC permissions for reading and writing enrichments (Enterprise)
featureAlerting: Add Alert Rules tabs navigation with feature toggle
featureAlerting: Add Alert activity card to alerting home page
featureAlerting: Add Cursor frontmatter to CLAUDE.md for auto-loading
featureAlerting: Add Edit/Export actions to group rows, clickable folders, and square icon for recording rules
featureAlerting: Add RBAC for enrichment
featureAlerting: Add RBAC to enrichments (Enterprise)
featureAlerting: Add UI for imported time intervals
featureAlerting: Add alert labels as tags on annotations (#28610)
featureAlerting: Add alertingSyncNotifiersApiMigration feature flag
featureAlerting: Add compressed periodic save for alert instances
featureAlerting: Add counts for firing and pending alert rules
featureAlerting: Add empty state to triage page WIP
featureAlerting: Add expression type information to webhook valueString
featureAlerting: Add feature toggle to disable DMA creation in UI
featureAlerting: Add first CLAUDE.md in the frontend alerting folder
featureAlerting: Add folder_uid label to the grafana_alerting_rule_group_rules metric
featureAlerting: Add gh in CLAUDE.md
featureAlerting: Add limits for the size of expanded notification templates
featureAlerting: Add managed folder validation frontend
featureAlerting: Add policy selector in the alert rule form
featureAlerting: Add saved searches feature for alert rules page
featureAlerting: Add viz wrapper for run queries in enrichment (Enterprise)
featureAlerting: Alerts page performance improvements
featureAlerting: Analyze an alert rule with Grafana Assistant
featureAlerting: Apply pending period to NoData and Error alerts
featureAlerting: Change group filtering to search-based using lightweight BE endpoint
featureAlerting: Collate alert_rule.namespace_uid column as binary
featureAlerting: Collate rule_group column as binary
featureAlerting: Config option to set default datasource in Prometheus rule import
featureAlerting: Correct relative paths in CLAUDE.md Required Reading links
featureAlerting: Dedicated permission for Template testing API
featureAlerting: Deprecate OpsGenie integration
featureAlerting: Filter out imported contact points from simplified routing dropdown
+320 more items in the release notes
securityCVE-2026-17183
featureAlerting: Return 403 instead of 500 on contact point provenance mismatch
featureGo: Update version to 1.26.5
fixalerting: fix ORM table mapping bug causing SELECT alert_rule columns FROM user on PostgreSQL
featureDocker: Bump Alpine-based images to 3.24.1
fixDatasources: return 400 when payload UID does not match URL UID in PUT /api/datasources/uid/:uid
featureDashboards: Get annotations and dashboard endpoint performance improvements
featureDocker: Bump Alpine-based images to 3.23.4
featureGo: Update version to 1.26.3
featureLibraryPanels: Return 403 instead of 500 for insufficient permissions
securitySecurity: CVE-2026-33382
securitySecurity: CVE-2026-42127
securitySecurity: CVE-2026-42129
securitySecurity: CVE-2026-10601
securitySecurity: CVE-2026-8609
securityFixes CVE-2026-33376: When using an IPv6 allow-list for the Auth Proxy feature, it defaults to /32 addresses. Addresses specifying a mask explicitly are not affected; to mitigate easily, add the desired mask (usually /1…
securityFixes CVE-2026-33377: An Editor can overwrite a dashboard not owned by them to acquire admin on that specific dashboard. The user must have write access to the dashboard to escalate privilege.
securityFixes CVE-2026-28380: Any Editor could delete any snapshot, even if they have no access to read or write them.
securityFixes CVE-2026-28383: A 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-…
securityFixes CVE-2026-33378: Using 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 th…
securityFixes CVE-2026-28376: The Grafana Live push endpoint can be exploited to cause unbounded memory allocation by sending a large or streaming request body, potentially leading to out-of-memory conditions. An authenticated…
securityFixes CVE-2026-28379: A race condition in Grafana Live allows authenticated users with Viewer role to trigger a server crash by sending concurrent requests that cause a fatal map access error. This results in complete s…
securityFixes CVE-2026-33375: The Grafana MSSQL data source plugin contains a logic flaw that allows a low-privileged user (Viewer) to bypass API restrictions and trigger a catastrophic Out-Of-Memory (OOM) memory exhaustion, cr…
securityFixes CVE-2026-33380: A vulnerability in SQL Expressions allows an authenticated attacker to read arbitrary files from the Grafana server's filesystem. Only instances with the sqlExpressions feature toggle enabled are v…
securityFixes CVE-2026-33381: When a user's access to mint tokens for a service account is revoked, it is sometimes still possible to do so for a few seconds after the event. The user will eventually lose access to do this.
securityFixes CVE-2026-21724: A vulnerability has been discovered in Grafana OSS where an authorization bypass in the provisioning contact points API allows users with Editor role to modify protected webhook URLs without the re…
securityFixes CVE-2026-28374: Editors could delete any annotation, even those they do not have read access to. The editor user cannot create or read the annotations.
featurePublic Dashboards: Prevent unintended CRUD operations from different orgs
securitySecurity: Fixes CVE-2026-27876
securitySecurity: Fixes CVE-2026-27877
securitySecurity: Fixes CVE-2026-28375
securitySecurity: Fixes CVE-2026-27879
securitySecurity: Fixes CVE-2026-27880
featureGo: Update to 1.25.8
featureRendering: Add support for custom CA certs in Image Renderer
fixDashboards: Fix start parameter in list versions API for K8s backend
fixDashboard Export: Fix datasource variable templating in dashboard export
fixProvisioning: Bump nanogit v0.3.1 with missing objects fixes
securityFixes CVE-2026-21727: A cross-tenant isolation vulnerability was found in Grafana’s Correlations feature affecting legacy correlation records. Due to a backward compatibility condition allowing org_id = 0 records to be…
featureAlerting: Add limits for the size of expanded notification templates
featureCorrelations: Remove support for org_id=0
featureGo: Update to 1.25.7
featureSecurity(Public dashboards annotations): use dashboard timerange if time selection disabled
featureSecurity(TraceView): Sanitize html
securityFixes CVE-2025-41117: Stack traces in Grafana's Explore Traces view can be rendered as raw HTML, and thus inject malicious JavaScript in the browser. This would require malicious JavaScript to be entered into the stack…
featureAPI: Add missing scope check on dashboards
featureAvatar: Require sign-in, remove queue, respect timeout
featureElasticSearch: Update annotation time-range properties
featureExplore: Reset legend when a new query is run
featureGo: Update to 1.25.6
fixAlerting: Fix a race condition panic in ResetStateByRuleUID
fixAlerting: Fix data source recording rules editor
See how far your stack has drifted from upstream. Release data from vendors’ own sources · feed under CC BY 4.0 · Code under AGPL-3.0 Settings Feed status