# CVE-2023-41935: Non-constant time nonce comparison in Jenkins Microsoft Entra ID (previously Azure AD) Plugin


- **Severity:** High 7.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N`)
- **Exploited in the wild:** Not known
- **Fix available:** Yes
- **Published:** 6 Sep 2023
- **Updated:** 26 Sep 2024
- **Also known as:** GHSA-hj7p-h74j-6gxj

## What is CVE-2023-41935?

CVE-2023-41935 is a high-severity vulnerability in Jenkins Azure AD Plugin, published on 6 Sep 2023. 

### Official description

Jenkins Azure AD Plugin 396.v86ce29279947 and earlier, except 378.380.v545b_1154b_3fb_, uses a non-constant time comparison function when checking whether the provided and expected CSRF protection nonce are equal, potentially allowing attackers to use statistical methods to obtain a valid nonce.

Weakness: CWE-697 (Incorrect Comparison)

## Which versions are affected by CVE-2023-41935?

4 open source packages ship an affected version, including org.jenkins-ci.plugins:azure-ad. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `org.jenkins-ci.plugins:azure-ad` | Maven | All versions | 378.vd6e2874a |
| `org.jenkins-ci.plugins:azure-ad` | Maven | All versions | 378.vd6e2874a |
| `org.jenkins-ci.plugins:azure-ad` | Maven | From 378.380.v545b | 397.v907382dd9b |
| `org.jenkins-ci.plugins:azure-ad` | Maven | From 378.380.v545b | 397.v907382dd9b |

Products: Jenkins Azure Ad.

## How do I fix CVE-2023-41935?

Upgrade org.jenkins-ci.plugins:azure-ad to a fixed version for your release line: 378.vd6e2874a or 397.v907382dd9b.

## Is CVE-2023-41935 being exploited?

There is no known exploitation of CVE-2023-41935 in the wild and no public exploit code.

## Other vulnerabilities in Jenkins Azure AD Plugin

- [CVE-2023-24426](https://insights.sbomify.com/CVE-2023-24426/): Insufficient Session Expiration in Jenkins Azure AD Plugin (high 8.8)
- [CVE-2021-21679](https://insights.sbomify.com/CVE-2021-21679/): Jenkins Azure AD Plugin allows bypassing CSRF protection for any URL (high 8.8)
- [CVE-2019-10318](https://insights.sbomify.com/CVE-2019-10318/): Jenkins Azure AD Plugin stored the client secret unencrypted (high 8.8)
- [CVE-2020-2119](https://insights.sbomify.com/CVE-2020-2119/): Client secret transmitted in plain text by Azure AD Plugin (medium 5.3)
- [CVE-2026-42525](https://insights.sbomify.com/CVE-2026-42525/): Jenkins Microsoft Entra ID (previously Azure AD) Plugin has an open redirect vulnerability (medium 4.3)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2023-41935 and fix it if it is affected.

What it is: CVE-2023-41935 is a high-severity vulnerability in Jenkins Azure AD Plugin, published on 6 Sep 2023. 
Exploitation: There is no known exploitation of CVE-2023-41935 in the wild and no public exploit code.

Affected packages and fixed versions:
- org.jenkins-ci.plugins:azure-ad (Maven): affected all versions; fixed in 378.vd6e2874a
- org.jenkins-ci.plugins:azure-ad (Maven): affected all versions; fixed in 378.vd6e2874a
- org.jenkins-ci.plugins:azure-ad (Maven): affected from 378.380.v545b; fixed in 397.v907382dd9b
- org.jenkins-ci.plugins:azure-ad (Maven): affected from 378.380.v545b; fixed in 397.v907382dd9b

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2023-41935/ (Markdown: https://insights.sbomify.com/CVE-2023-41935/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2023-41935
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2023-41935
- OSV: https://osv.dev/vulnerability/CVE-2023-41935

---
From sbomify Insights: https://insights.sbomify.com/CVE-2023-41935/
Summaries are generated and may contain mistakes; the official description above is the record.
