nearform/fast-jwt · Security
fast-jwt has a ReDoS when using RegExp in allowed* leading to CPU exhaustion during token verification
- GHSA ID
- GHSA-cjw9-ghj4-fwxf
- CVE ID
- CVE-2026-35041
- Severity
- medium
- Published
- Updated
- CVSS
- 4.2 · CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
- CVSS v3
- 4.2 · CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
Description
⚠️ IMPORTANT CLARIFICATIONS
Affected Configurations
This vulnerability ONLY affects applications that:
- Use RegExp objects (not strings) in the allowedAud, allowedIss, allowedSub, allowedJti, or allowedNonce options
- Configure patterns susceptible to catastrophic backtracking
- Example:
allowedAud: /^(a+)+X$/← VULNERABLE - Example:
allowedAud: "api.company.com"← SAFE
Not Affected
- Applications using string patterns for audience validation (most common)
- Applications using safe RegExp patterns without nested quantifiers
- Default fast-jwt configurations
Assessment Guide
To determine if you're affected:
- Check ifallowedAud, allowedIss, allowedSub, allowedJti, or allowedNonce use RegExp objects (
/pattern/ornew RegExp()) - If yes, review the pattern for nested quantifiers like
(a+)+,(.*)*, etc. - If no RegExp usage, you are NOT affected
CWEs
- CWE-1333 · Inefficient Regular Expression Complexity
References
- https://github.com/nearform/fast-jwt/security/advisories/GHSA-cjw9-ghj4-fwxf ↗
- https://github.com/nearform/fast-jwt/pull/595 ↗
- https://github.com/nearform/fast-jwt/commit/b0be0ca161593836a153d5180ca5358ad9b5de94 ↗
- https://github.com/nearform/fast-jwt/releases/tag/v6.2.1 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2026-35041 ↗
- https://github.com/advisories/GHSA-cjw9-ghj4-fwxf ↗