Modification of Assumed-Immutable Data (MAID) Affecting pyjwt package, versions [2.11.0,2.14.0)


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.24% (14th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-PYTHON-PYJWT-20341561
  • published1 Oct 2026
  • disclosed30 Sept 2026
  • credittritsystem

Introduced: 30 Sep 2026

NewCVE-2026-103001  (opens in a new tab)
CWE-471  (opens in a new tab)

How to fix?

Upgrade PyJWT to version 2.14.0 or higher.

Overview

PyJWT is a Python implementation of RFC 7519.

Affected versions of this package are vulnerable to Modification of Assumed-Immutable Data (MAID) in the _merge_options() method in jwt/api_jwt.py, which writes verify_exp, verify_nbf, verify_iat, verify_aud, verify_iss, verify_sub, and verify_jti directly onto the caller's options dictionary when verify_signature is falsy, with no dict(options) copy before those writes. An attacker can have an expired token, or one carrying the wrong audience, issuer, subject, or jti, accepted by a call that explicitly asks for full verification, because an earlier call sharing that same dictionary object left the claim checks switched off in it. This requires the application to reuse one mutable options dictionary across decode calls with differing intent, where an earlier call disabled signature verification and a later one requests full verification, a shape that arises with shared configuration objects or wrapper instances rather than freshly built literals.

CVSS Base Scores

version 4.0
version 3.1