CVE-2026-103001PyJWT.decode() reintroduces options-dict mutation, enabling silent claim-verification bypass on dict reuse
Updated under an hour ago ()
Does this affect you?
It affects jpadilla pyjwt and 1 other product. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
PyJWT is a Python implementation of JSON Web Token standards. From 2.11.0 through 2.13.0, PyJWT's PyJWT._merge_options() method can modify a caller-supplied mutable options mapping when verify_signature is false. If an application reuses that same mapping for a later decode() or decode_complete() call and changes verify_signature to true, the mapping can retain false values for expiration, not-before, issued-at, audience, issuer, subject, and JWT ID checks. A signed token with invalid registered claims can then be accepted without disabling signature verification, but applications that create a fresh options mapping for each call are not affected.
- CVSS
- 6.5 MEDIUM (v3.1, CNA)CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
- Weakness (CWE)
- CWE-471
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- GitHub_M
- NVD analysis
- Analyzed
- Record last updated
- Oct 5, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
jpadilla pyjwt jpadilla:pyjwt (from the name) | from 2.11.0, <= 2.13.0 | CNA record |
pyjwt_project pyjwt pyjwt_project:pyjwt | from 2.11.0 before 2.13.0 | NVD |
References
- https://github.com/jpadilla/pyjwt/security/advisories/GHSA-gvp8-978c-rx2qx-refsource-confirm, exploit, mitigation, vendor-advisory
- https://github.com/jpadilla/pyjwt/issues/679x-refsource-misc, exploit, issue-tracking
- https://github.com/jpadilla/pyjwt/commit/0c87c8c8b1a74cac99ad8115f3050efcb7fbed35x-refsource-misc, patch
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.