Modification of assumed-immutable data in pyjwt - #VU151958

 

Modification of assumed-immutable data in pyjwt - #VU151958

Published: September 24, 2026


Vulnerability identifier: #VU151958
CSH Severity: Medium
CVSS v4: 8.3 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N]
CVE-ID: N/A
CWE-ID: CWE-471
Exploitation vector: Remote access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a remote attacker to bypass claim verification.

The vulnerability exists due to modification of assumed-immutable data in PyJWT._merge_options() when reusing a mutable options dictionary across token decoding calls with different verification settings. A remote attacker can cause an application to accept a signed expired token or a token with incorrect registered claims as valid to bypass claim verification.

Exploitation requires the application to first decode a token with signature verification disabled and then reuse the same options dictionary after enabling signature verification.


Affected software

pyjwt

Remediation

Install security update from vendor's website.

pyjwt - update to 2.14.0

External References

Related Security Bulletins