๐Ÿ” CVE Alert

CVE-2026-103001

MEDIUM 6.5

PyJWT.decode() reintroduces options-dict mutation, enabling silent claim-verification bypass on dict reuse

CVSS Score
6.5
EPSS Score
0.0%
EPSS Percentile
0th

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.

CWE CWE-471
Vendor jpadilla
Product pyjwt
Published Sep 30, 2026
Last Updated Sep 30, 2026
Stay Ahead of the Next One

Get instant alerts for jpadilla pyjwt

Be the first to know when new medium vulnerabilities affecting jpadilla pyjwt are published โ€” delivered to Slack, Telegram or Discord.

Get Free Alerts โ†’ Free ยท No credit card ยท 60 sec setup

CVSS v3 Breakdown

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
High
Availability
None

Affected Versions

jpadilla / pyjwt
>= 2.11.0, <= 2.13.0

References

NVD โ†— CVE.org โ†— EPSS Data โ†—
github.com: https://github.com/jpadilla/pyjwt/security/advisories/GHSA-gvp8-978c-rx2q github.com: https://github.com/jpadilla/pyjwt/issues/679 github.com: https://github.com/jpadilla/pyjwt/commit/0c87c8c8b1a74cac99ad8115f3050efcb7fbed35