Grafana Alerting: Authorization bypass via schema downgrade (CVE-2026-100105)
CVE-2026-100105 is an authorization bypass in Grafana Alerting Contact Points that allows attackers with Editor permissions to redirect alert notifications to unauthorized destinations and exfiltrate credentials through schema version manipulation.
CVE search metadata
CVE search record: CVE-2026-100105. Severity: high. CVSS: 7.7. EPSS: 0.29%. KEV: no. Product: Grafana OSS (< 12.4.14, 13.0.12, 13.1.9, 13.2.5), Grafana Enterprise (< 12.4.14, 13.0.12, 13.1.9, 13.2.5). Brief: Grafana Alerting: Authorization bypass via schema downgrade (CVE-2026-100105). Brief link: https://feed.craftedsignal.io/briefs/2026-10-grafana-auth-bypass/
Triage facts
Revision 1- Applicability
- Grafana OSS (< 12.4.14, 13.0.12, 13.1.9, 13.2.5), Grafana Enterprise (< 12.4.14, 13.0.12, 13.1.9, 13.2.5)
- Evidence
- Unknown
- Severity
- High
- Action
- Immediate escalation
- Sources
- 3 public sources
- Freshness
- Revision 1Oct 31, 10:15 UTC
- Detection
- 1 IOC
- Vulnerabilities
- 1 CVE
- Source quality
- B2Very likely
CVE-2026-100105 (GHSA-92gx-p2qg-82fw) is a high-severity authorization bypass vulnerability in Grafana OSS and Enterprise versions 12.4.x, 13.0.x, 13.1.x, and 13.2.0 - 13.2.4. The vulnerability arises because sensitive fields in alert notification integrations (such as the webhook destination URL) are protected by RBAC logic that validates configuration changes against a schema. By switching an integration to a legacy schema version (v0mimir1), the protection logic is bypassed because the URL field is not marked as protected in the legacy schema definition.
A researcher also identified two additional authorization weaknesses (Zero-day findings A and B) that remain reproducible on the fully patched version 13.2.5. These affect the ReceiverTestingService subresource, allowing attackers to exfiltrate stored credentials (e.g., Basic Auth headers) and dispatch notifications to unauthorized URLs without requiring persistent modification to stored receivers.
Attack Chain
- Attacker (with Editor role) enumerates existing alert receivers via GET /apis/notifications.alerting.grafana.app/v1beta1/namespaces/default/receivers.
- Attacker selects a target receiver and prepares a PUT request to update its configuration.
- Attacker embeds a schema downgrade in the request by setting the integration version to a legacy identifier (e.g., v0mimir1).
- Attacker includes an arbitrary attacker-controlled destination URL in the settings object.
- The Grafana backend evaluates the protected-field diff against the legacy schema version, which fails to trigger the authorization check.
- The system updates the stored receiver configuration with the attacker's malicious destination URL.
- Attacker triggers a notification (via the test subresource or actual alert firing) to exfiltrate alert payloads or stored credentials to their infrastructure.
Impact
Successful exploitation allows for the silent exfiltration of alert payloads and sensitive notification credentials (e.g., tokens, API keys, Basic Auth credentials) to attacker-controlled infrastructure. This risk persists after patching for receivers that were already downgraded while the instance was unpatched.
Recommendation
- Upgrade to Grafana OSS or Enterprise versions 12.4.14, 13.0.12, 13.1.9, or 13.2.5 immediately.
- After upgrading, audit all existing alert receivers for legacy or non-standard schema versions (
version != "v1"for webhooks) and verify that their destination URLs are legitimate. - Monitor logs for unusual sequences of
PUTrequests to receiver configuration endpoints followed byPOSTrequests to receiver-test subresources from non-administrative users.
Immediate actions
Upgrade Grafana instances to the patched versions.
Threat Hunt
Audit alert receivers for non-current schema versions.
Data: Grafana API response for /apis/notifications.alerting.grafana.app/v1beta1/namespaces/default/receivers
Indicators of compromise
1
url
| Type | Value |
|---|---|
| url | http://collector:9001/exfil |