CVE-2023-52428 is a high severity (7.5) denial of service in Connect2id Nimbus JOSE+JWT before 9.37.2. A large p2c header value, which is the iteration count for password based JWE decryption, makes the PBKDF2 component consume excessive resources. Upgrade to 9.37.2 or later.
What's affected
NVD lists Nimbus JOSE+JWT before 9.37.2, so 9.37.2 is the fixed version according to the record. The record references a source commit, 3b3b77e, and the project issue 526. The Bitbucket page for the issue returned an error when I tried to open it, so I could not read the maintainers' own notes.
The affected component is PasswordBasedDecrypter, which handles JWE tokens that use password based encryption (PBES2).
Weakness class: CWE-770.
The library is a Java dependency, often pulled in indirectly by OAuth, OpenID Connect and Spring Security components, so you may be running it without a direct dependency.
How to check if you're exposed
Find the version in your dependency tree. With Maven:
mvn dependency:tree -Dincludes=com.nimbusds:nimbus-jose-jwt
With Gradle:
gradle dependencies | grep nimbus-jose-jwt
Anything before 9.37.2 is in scope. Also look for shaded copies inside fat JARs. You can run a free in-browser dependency scan at gold.safeguard.sh/scan to see which of your projects pull this component in, directly or through another package.
What to do now
- Upgrade nimbus-jose-jwt to 9.37.2 or later, directly or by upgrading the framework that brings it in.
- Pin the version in your build file if a transitive dependency holds an older one.
- If you do not use password based JWE, do not accept it. Allow only the algorithms you need when you build the decryption path.
- Set limits on token size and request rate at the edge.
Why it matters
PBKDF2 is deliberately slow. A JWE header chooses its own iteration count through the p2c field, so a sender who controls the token can ask for an enormous count and make the server grind. The library did not limit that value before 9.37.2, according to the CVE description.
The general lesson is to treat cost parameters inside untrusted tokens as input to validate. The record shows the CVE is not in the CISA Known Exploited Vulnerabilities catalog.
Try it yourself
Click through it at your own pace, or open it full screen.
Quick check
Which version fixes CVE-2023-52428?
Nimbus JOSE+JWT 9.37.2, according to the NVD description of affected versions.
Am I affected if I only verify signed JWTs?
The flaw is in password based JWE decryption. If your code never decrypts PBES2 tokens it is not exercised, but upgrade anyway, since the library may be reachable from a framework.
Sources
Last reviewed: 19 October 2026.