PyJWT is a Python implementation of JSON Web Token standards.
CVE-2026-102269
Summary PyJWT 2.13.0 accepts compact JWS signature segments containing characters that are not in the Base64URL alphabet. Appending !!!! to a valid signature does not change the decoded signature bytes or authenticated claims, but it changes the serialized token and its SHA-256 hash. An application that indexes logout or revocation state by the raw token therefore rejects the logged-out token and accepts its no-key alternate serialization. This report separates two issues: permissive compact-JWS decoding is the library behavior, while using raw serialized JWT text as a security identity is a dangerous application composition. A jti-indexed control blocks both representations. Affected Version Confirmed with PyJWT 2.13.0 on CPython 3.13. The mutation changes only the signature segment and requires no signing key. End-to-End Reproduction bash .venv-research/bin/python 06-practical-testing/revocation-bypass-lab.py The loopback-only lab performs: 1. Issue a valid HS256 admin token. 2. Access /protected successfully. 3. Log out the canonical token and store SHA256(rawtoken). 4. Confirm canonical replay returns HTTP 401. 5. Append !!!! to only the signature segment. 6. Confirm the…
Assessment
- CVSS
- 5.4 (v3.1)
- Severity
- Medium
- EPSS
- 0.22% chance of exploitation in the next 30 days
- Known exploited
- Not listed in CISA KEV
- Exploit availability
- Nothing found in Exploit-DB, Metasploit, Nuclei or public PoC repositories
- Published
- 28 September 2026
- Last updated
- 6 October 2026
- Weakness
- CWE-180
- Assigner
- security-advisories@github.com
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
At the source
References
- https://github.com/jpadilla/pyjwt/commit/e6f48401001609a8f99e71fcaf355fb895d508a8
- https://github.com/jpadilla/pyjwt/releases/tag/2.14.0
- https://github.com/jpadilla/pyjwt/security/advisories/GHSA-hxm8-2xgr-2p9m
- https://nvd.nist.gov/vuln/detail/CVE-2026-102269
- https://github.com/advisories/GHSA-hxm8-2xgr-2p9m
Community proofs of concept
No community proof of concept yet. If you have one for a published vulnerability and the right to share it, add it below — it will appear here once reviewed.
Submit a proof of concept
Only for publicly disclosed vulnerabilities, and only material from testing you were authorised to perform. This platform does not buy, sell, or broker exploits — see earning from vulnerability research for legitimate bounty programs. Submissions are reviewed before they appear. Text only; do not include live credentials, personal data, or anything targeting systems you are not permitted to test.
Query this programmatically
Agents can read this through the MCP endpoint, or over HTTP:
curl https://cve.zerocrew.in/api/cve/CVE-2026-102269