Machine-written summary
Summary written by Claude Haiku from the source advisory. Not reviewed by a person.
PyJWT versions 2.13.0 up to but not including 2.14.0 accept an empty oct JWK supplied through PyJWK or PyJWKSet as an HMAC verification key, while the same empty key is rejected when passed as a raw key. An attacker who knows the effective key is zero-length can forge HS256 tokens with arbitrary claims that PyJWT accepts, so the application must already be using an empty symmetric JWK. Upgrade to PyJWT 2.14.0 or later.
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 |
|---|---|---|---|---|
| 7.4 | High | 3.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N | CNA (GitHub_M) |
- CISA KEV Not listed.
- EPSS 0.0022, the 13th percentile, on 7 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-9j54-fg26-wv3r
- OSV: GHSA-9j54-fg26-wv3r
- github.com/jpadilla/pyjwt/security/advisories/GHSA-9j54-fg26-wv3r
- nvd.nist.gov/vuln/detail/CVE-2026-102266
- github.com/jpadilla/pyjwt/commit/f91ed44dd65baaf457f4b3353ed35e98a753934c
- github.com/jpadilla/pyjwt
- github.com/jpadilla/pyjwt/releases/tag/2.14.0