CVE-2023-3128
Status: ModifiedCritical (9.8)—💥 PoC
Grafana is validating Azure AD accounts based on the email claim.
On Azure AD, the profile email field is not unique and can be easily modified.
This leads to account takeover and authentication bypass when Azure AD OAuth is configured with a multi-tenant app.
CVSS
- Version: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Base score: 9.8
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days: 4.00%
- Percentile among all scored CVEs: 90
- Score date: 10/7/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
💥 Public exploits
Exploit code or detection templates are publicly available. This is not the same as confirmed active exploitation (KEV), but it raises the risk: patch with priority.
- Proof of concept on GitHub (unverified) · List of proofs of concept on GitHub
⚠️ GitHub proofs of concept are not verified: some are fake or contain malware. Never run them outside an isolated lab.
Affected technologies (1)
CWEs
- CWE-290
- CWE-290
References
- https://github.com/grafana/bugbounty/security/advisories/GHSA-gxh2-6vvc-rrgp
- https://grafana.com/security/security-advisories/cve-2023-3128/
- https://security.netapp.com/advisory/ntap-20230714-0004/
- https://github.com/grafana/bugbounty/security/advisories/GHSA-gxh2-6vvc-rrgp
- https://grafana.com/security/security-advisories/cve-2023-3128/
- https://security.netapp.com/advisory/ntap-20230714-0004/
Raw JSON (NVD)
Show
{
"id": "CVE-2023-3128",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2023-3128",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2024-12-06T15:26:35.297129Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security@grafana.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 9.4,
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "LOW",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.5,
"exploitabilityScore": 3.9
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 9.8,
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security@grafana.com",
"affectedData": [
{
"vendor": "Grafana",
"product": "Grafana",
"versions": [
{
"status": "affected",
"version": "9.5.0",
"lessThan": "9.5.4",
"versionType": "semver"
},
{
"status": "affected",
"version": "9.4.0",
"lessThan": "9.4.13",
"versionType": "semver"
},
{
"status": "affected",
"version": "9.3.0",
"lessThan": "9.3.16",
"versionType": "semver"
},
{
"status": "affected",
"version": "9.2.0",
"lessThan": "9.2.20",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.7.0",
"lessThan": "8.5.27",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Grafana",
"product": "Grafana Enterprise",
"versions": [
{
"status": "affected",
"version": "9.5.0",
"lessThan": "9.5.4",
"versionType": "semver"
},
{
"status": "affected",
"version": "9.4.0",
"lessThan": "9.4.13",
"versionType": "semver"
},
{
"status": "affected",
"version": "9.3.0",
"lessThan": "9.3.16",
"versionType": "semver"
},
{
"status": "affected",
"version": "9.2.0",
"lessThan": "9.2.20",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.7.0",
"lessThan": "8.5.27",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2023-06-22T21:15:09.573",
"references": [
{
"url": "https://github.com/grafana/bugbounty/security/advisories/GHSA-gxh2-6vvc-rrgp",
"tags": [
"Vendor Advisory"
],
"source": "security@grafana.com"
},
{
"url": "https://grafana.com/security/security-advisories/cve-2023-3128/",
"tags": [
"Vendor Advisory"
],
"source": "security@grafana.com"
},
{
"url": "https://security.netapp.com/advisory/ntap-20230714-0004/",
"tags": [
"Third Party Advisory"
],
"source": "security@grafana.com"
},
{
"url": "https://github.com/grafana/bugbounty/security/advisories/GHSA-gxh2-6vvc-rrgp",
"tags": [
"Vendor Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://grafana.com/security/security-advisories/cve-2023-3128/",
"tags": [
"Vendor Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://security.netapp.com/advisory/ntap-20230714-0004/",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security@grafana.com",
"description": [
{
"lang": "en",
"value": "CWE-290"
}
]
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-290"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Grafana is validating Azure AD accounts based on the email claim. \n\nOn Azure AD, the profile email field is not unique and can be easily modified. \n\nThis leads to account takeover and authentication bypass when Azure AD OAuth is configured with a multi-tenant app."
}
],
"lastModified": "2026-06-17T06:13:25.100",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "83E4CB78-7F97-4B9A-B644-ED98761C6213",
"versionEndExcluding": "8.5.27",
"versionStartIncluding": "6.7.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "26C597A7-F2D1-4A33-BBBD-352669DB8E91",
"versionEndExcluding": "8.5.27",
"versionStartIncluding": "6.7.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C47AA0E0-72E8-4235-8D27-7F579929D179",
"versionEndExcluding": "9.2.20",
"versionStartIncluding": "9.2.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "F825B098-EEA7-415F-A9EA-6E72D741E614",
"versionEndExcluding": "9.2.20",
"versionStartIncluding": "9.2.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "4F05305B-94D2-4687-8AE9-F55CE840B647",
"versionEndExcluding": "9.3.16",
"versionStartIncluding": "9.3.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C32F2F70-18A1-47D6-8B5E-F20D096AEBD0",
"versionEndExcluding": "9.3.16",
"versionStartIncluding": "9.3.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C40FF772-6C54-4B5C-BD5C-560E192B79F6",
"versionEndExcluding": "9.4.13",
"versionStartIncluding": "9.4.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "61DA1D1A-D969-492E-9A43-A99E9A918A5A",
"versionEndExcluding": "9.4.13",
"versionStartIncluding": "9.4.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "B08F1010-C1F8-4F29-A65D-D9A741F77AA3",
"versionEndExcluding": "9.5.4",
"versionStartIncluding": "9.5.0"
},
{
"criteria": "cpe:2.3:a:grafana:grafana:*:*:*:*:enterprise:*:*:*",
"vulnerable": true,
"matchCriteriaId": "E61B4ECF-7DC6-4487-9F27-8660BD8AD179",
"versionEndExcluding": "9.5.4",
"versionStartIncluding": "9.5.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security@grafana.com"
}