Machine-written summary
Summary written by Claude Haiku from the source advisory. Not reviewed by a person.
PyJWT versions before 2.14.0 accept compact JWS signature segments that contain characters outside the Base64URL alphabet, so appending characters such as "!!!!" yields a different serialized token with the same signature bytes and claims. An attacker who already holds a valid token and whose application keys logout or revocation state on the raw token string can replay the alternate serialization after logout. Upgrade to PyJWT 2.14.0 or later, and identify tokens by a semantic identifier such as jti rather than the raw serialized token.
Not analysed yet
We haven’t published our analysis of this Advisory yet. Once a person has reviewed it, this page will say what’s vulnerable, what has to be true for your app to be affected, and how to check.
Severity and exploitation
| Score | Rating | CVSS | Vector | Source |
|---|---|---|---|---|
| 4.8 | Medium | 3.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N | CNA (GitHub_M) |
- CISA KEV Not listed.
- EPSS 0.0022, the 13th percentile, on 5 Nov 2026: FIRST’s estimate of the chance of exploitation in the next 30 days.
Timeline
- 31 Oct 2026, 14:09 UTC First seen by agentprime
- 31 Oct 2026, 14:09 UTC Confirmed by OSV
Sources
- GitHub Advisory Database: GHSA-hxm8-2xgr-2p9m
- OSV: GHSA-hxm8-2xgr-2p9m
- github.com/jpadilla/pyjwt/security/advisories/GHSA-hxm8-2xgr-2p9m
- nvd.nist.gov/vuln/detail/CVE-2026-102269
- github.com/jpadilla/pyjwt/commit/e6f48401001609a8f99e71fcaf355fb895d508a8
- github.com/jpadilla/pyjwt
- github.com/jpadilla/pyjwt/releases/tag/2.14.0