CVE-2026-48526

PyJWT: Public-key JWK accepted as HMAC secret enables forged HS256 tokens when mixed families are allowed

HIGH
7.4
CVSS Score
Published: May 28, 2026 at 03:09 PM UTC
Updated: October 26, 2026 at 01:10 PM UTC
7 products affected across 3 vendorsPyjwtPyjwtOpenShift AI

Using pyjwt by jpadilla?

Get instant alerts when new vulnerabilities affect pyjwt - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.4
Exploit prediction
EPSS 0.4%
SSVC
PoC

Description

PyJWT is a JSON Web Token implementation in Python. Prior to 2.13.0, when the verifier is decoding JSON Web Tokens, while supporting both asymmetric and HMAC algorithms, the library does not validate use of JSON Web Keys in HMAC algorithm, allowing attacker to use the issuer public key as the secret key for HMAC algorithm. This vulnerability is fixed in 2.13.0.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 2.13.0
Affected range stops below 2.13.0, so it looks safe — our inference, not a vendor statement
v < 2.13.0
Affected range stops below 2.13.0, so it looks safe — our inference, not a vendor statement
All versions
Vendor states this is fixed in 1782352847 (unaffected)
Vendor states this is fixed in 1782353093 (unaffected)
Vendor states this is fixed in 0:2.13.0-1.el9ap (unaffected)
Vendor states this is fixed in 0:4.6.31-1.el8ap (unaffected)
Vendor states this is fixed in 0:4.6.31-1.el9ap (unaffected)
Vendor states this is fixed in 0:4.7.15-2.el9ap (unaffected)
Vendor states this is fixed in 1781025813 (unaffected)
Vendor states this is fixed in 1781030318 (unaffected)
Vendor states this is fixed in 1781042555 (unaffected)
Vendor states this is fixed in 1781102816 (unaffected)
Vendor states this is fixed in 1781118924 (unaffected)
Vendor states this is fixed in 1782650747 (unaffected)
Vendor states this is fixed in 1782712006 (unaffected)
Vendor states this is fixed in 1782755166 (unaffected)
Vendor states this is fixed in 1782761510 (unaffected)
Vendor states this is fixed in 1783920542 (unaffected)
Vendor states this is fixed in 1783969139 (unaffected)
Vendor states this is fixed in 1783979593 (unaffected)
Vendor states this is fixed in 1783981617 (unaffected)
Vendor states this is fixed in 1784046511 (unaffected)
Vendor states this is fixed in 1784050598 (unaffected)
Vendor states this is fixed in 1785378052 (unaffected)
Vendor states this is fixed in 1785435970 (unaffected)
Vendor states this is fixed in 2 (unaffected)
All versions
Vendor states this is fixed in 1783010225 (unaffected)
Vendor states this is fixed in 1783024305 (unaffected)
Vendor states this is fixed in 1783701598 (unaffected)
Vendor states this is fixed in 1786613209 (unaffected)
Vendor states this is fixed in 1786635926 (unaffected)
Vendor states this is fixed in 1787073451 (unaffected)
Vendor states this is fixed in 1787073459 (unaffected)
Vendor states this is fixed in 1787073546 (unaffected)
Vendor states this is fixed in 1787073593 (unaffected)
Vendor states this is fixed in 1787073605 (unaffected)
Vendor states this is fixed in 1787073611 (unaffected)
Vendor states this is fixed in 1787073713 (unaffected)
Vendor states this is fixed in 1787073717 (unaffected)
Vendor states this is fixed in 1787073866 (unaffected)
Vendor states this is fixed in 1787073873 (unaffected)
Vendor states this is fixed in 1787074331 (unaffected)
Vendor states this is fixed in 1787121387 (unaffected)
Vendor states this is fixed in 1787169432 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

References (40)

x_refsource_CONFIRMExploitVendor Advisory
Source: cverecord
https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:25902
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:25928
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:26206
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:28571
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:30076
Vendor Advisoryx_refsource_REDHAT
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:30088
Vendor Advisoryx_refsource_REDHAT
Source: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
https://access.redhat.com/errata/RHSA-2026:30089

SSVC — Action Prioritization

SSVCPoCNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.4HIGHGitHub_M
Attack Vector
NETWORK
Complexity
HIGH
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
NONE
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-287CWE-347

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card