CVE-2021-21679 is a high-severity (CVSS 8.8) Cross-Site Request Forgery (CSRF) vulnerability in org.jenkins-ci.plugins:azure-ad. A fix is available for org.jenkins-ci.plugins:azure-ad — see the affected versions and patch details below.
Jenkins Azure AD Plugin allows bypassing CSRF protection for any URL
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
org.jenkins-ci.plugins:azure-adReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
An extension point in Jenkins allows selectively disabling cross-site request forgery (CSRF) protection for specific URLs. Jenkins Azure AD Plugin implements this extension point for URLs used by a JavaScript component.
In Jenkins Azure AD Plugin 179.vf6841393099e and earlier this implementation is too permissive, allowing attackers to craft URLs that would bypass the CSRF protection of any target URL.
This vulnerability was originally introduced in Azure AD Plugin 164.v5b48baa961d2.
Azure AD Plugin 180.v8b1e80e6f242 no longer allows bypassing CSRF protection for URLs used by the JavaScript component. Instead, that component was reconfigured to pass the expected CSRF token.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.jenkins-ci.plugins:azure-ad | all versions | 180.v8b1e80e6f242org.jenkins-ci.plugins:azure-ad:180.v8b1e80e6f242 |
Affected Products
azure adjenkinsDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.jenkins-ci.plugins:azure-ad, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.jenkins-ci.plugins:azure-ad to 180.v8b1e80e6f242 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2021-21679 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is CVE-2021-21679 in your dependencies?
Find it across Maven, including transitive dependencies.