{"uuid": "05100484-b50a-44c0-9d37-0c52cf8cddb3", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "GHSA-3PRJ-6HQW-CM82", "type": "seen", "source": "https://gist.github.com/alon710/ffff1d4eb6033a732c872d3aa4694b89", "content": "# GHSA-3PRJ-6HQW-CM82: GHSA-3PRJ-6HQW-CM82: CPU Amplification Denial of Service in web-token JWT Library\n\n&gt; **CVSS Score:** 8.7\n&gt; **Published:** 2026-06-18\n&gt; **Full Report:** https://cvereports.com/reports/GHSA-3PRJ-6HQW-CM82\n\n## Summary\nAn uncontrolled resource consumption vulnerability in the PBES2-HS* key wrapping algorithms of the web-token JWT library allows remote, unauthenticated attackers to cause a denial of service (DoS) by sending JWE tokens with unbounded iteration counts.\n\n## TL;DR\nUnbounded iteration count (p2c) in PBES2 decryption allows attackers to block PHP worker threads via highly asymmetric CPU exhaustion attacks, leading to denial of service.\n\n## Technical Details\n\n- **Vulnerability ID**: GHSA-3PRJ-6HQW-CM82\n- **CWE ID**: CWE-400 / CWE-770\n- **Attack Vector**: Network\n- **CVSS v4 Score**: 8.7 (High)\n- **Exploit Status**: None (No active public campaigns)\n- **CISA KEV Status**: Not Listed\n\n## Affected Systems\n\n- web-token/jwt-library\n- web-token/jwt-framework\n- **web-token/jwt-library**: &lt; 3.4.10 (Fixed in: `3.4.10`)\n- **web-token/jwt-library**: &gt;= 4.0.0, &lt; 4.0.7 (Fixed in: `4.0.7`)\n- **web-token/jwt-library**: &gt;= 4.1.0, &lt; 4.1.7 (Fixed in: `4.1.7`)\n- **web-token/jwt-framework**: &lt;= 4.1.6 (Fixed in: `4.1.7`)\n\n## Mitigation\n\n- Upgrade the composer package web-token/jwt-library or web-token/jwt-framework to a secure version.\n- Limit the maximum iteration count allowed (max_count) in the PBES2 algorithms constructor.\n- Remove unused PBES2-based key encryption algorithms from the decryption AlgorithmManager.\n- Implement JWE header filtering middleware to inspect and reject tokens containing excessive p2c values before starting decryption.\n\n**Remediation Steps:**\n1. Run 'composer update web-token/jwt-library web-token/jwt-framework' in the environment.\n2. Configure the PBES2 algorithms with a safer iteration limit like 10000 in your initialization code.\n3. Verify that your composer.lock lists version 3.4.10, 4.0.7, or 4.1.7 or later.\n\n## References\n\n- [GitHub Security Advisory GHSA-3PRJ-6HQW-CM82](https://github.com/advisories/GHSA-3PRJ-6HQW-CM82)\n- [Repository Advisory: PBES2-HS*+A*KW unwrap accepts an unbounded p2c iteration count](https://github.com/web-token/jwt-framework/security/advisories/GHSA-3PRJ-6HQW-CM82)\n- [GitHub Commit Diff: Security Fix Details](https://github.com/web-token/jwt-framework/compare/4.1.6...4.1.7.diff)\n- [FriendsOfPHP Security Advisory Database Entry](https://github.com/FriendsOfPHP/security-advisories/blob/master/web-token/jwt-library/GHSA-3prj-6hqw-cm82.yaml)\n- [RFC 7518 Section 4.8 - Password-Based Key Encryption with PBES2](https://tools.ietf.org/html/rfc7518#section-4.8)\n\n\n---\n*Generated by [CVEReports](https://cvereports.com/reports/GHSA-3PRJ-6HQW-CM82) - Automated Vulnerability Intelligence*", "creation_timestamp": "2026-06-19T01:11:33.000000Z"}