CVE-2026-102273
published 2026-09-28CVE-2026-102273: PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, PyJWT HMACAlgorithm.prepare_key is affected because HMAC key guard only…
PriorityP346high7.4CVSS 3.1
AVNACHPRNUINSUCHIHAN
EPSS
0.18%
6.9th percentile
PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, PyJWT HMACAlgorithm.prepare_key is affected because HMAC key guard only recognizes top-level public JWK forms and misses container representations. This occurs when an application allows HMAC and asymmetric algorithms and passes a public JWK container as the raw key. As a result, public asymmetric key material is accepted as the HMAC secret. Consequently, an attacker who knows the public key can forge a token with arbitrary authenticated claims. This issue is fixed in version 2.14.0.
Affected
82 ranges· showing 25
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| ansible-automation-platform-25 | controller-rhel8 | — | — |
| ansible-automation-platform-25 | eda-controller-rhel8 | — | — |
| ansible-automation-platform-25 | ee-supported-rhel8 | — | — |
| ansible-automation-platform-25 | ee-supported-rhel9 | — | — |
| ansible-automation-platform-25 | gateway-rhel8 | — | — |
| ansible-automation-platform-25 | hub-rhel8 | — | — |
| ansible-automation-platform-25 | lightspeed-rhel8 | — | — |
| ansible-automation-platform-26 | controller-rhel9 | — | — |
| ansible-automation-platform-26 | eda-controller-rhel9 | — | — |
| ansible-automation-platform-26 | ee-supported-rhel9 | — | — |
| ansible-automation-platform-26 | gateway-rhel9 | — | — |
| ansible-automation-platform-26 | hub-rhel9 | — | — |
| ansible-automation-platform-26 | lightspeed-chatbot-rhel9 | — | — |
| ansible-automation-platform-26 | lightspeed-rhel9 | — | — |
| ansible-automation-platform-26 | mcp-tools-rhel9 | — | — |
| ansible-automation-platform-27 | controller-rhel9 | — | — |
| ansible-automation-platform-27 | eda-controller-rhel9 | — | — |
| ansible-automation-platform-27 | ee-supported-rhel9 | — | — |
| ansible-automation-platform-27 | gateway-rhel9 | — | — |
| ansible-automation-platform-27 | hub-rhel9 | — | — |
| ansible-automation-platform-27 | lightspeed-chatbot-rhel9 | — | — |
| ansible-automation-platform-27 | lightspeed-rhel9 | — | — |
| ansible-automation-platform-27 | mcp-tools-rhel9 | — | — |
| ansible-automation-platform-27 | metrics-service-rhel9 | — | — |
| ansible-automation-platform-tech-preview | metrics-service-rhel9 | — | — |
CVSS provenance
nvdv3.17.4HIGHCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
vendor_ubuntu9.1CRITICAL
vendor_redhat7.4HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
PyJWT accepts public JWK containers as HMAC secrets
ghsa·2026-09-29
CVE-2026-102273 [HIGH] CWE-347 PyJWT accepts public JWK containers as HMAC secrets
PyJWT accepts public JWK containers as HMAC secrets
### Summary
PyJWT 2.13.0 contains an incomplete defense against algorithm confusion when
an application mixes symmetric and asymmetric algorithms in one verification
path. A public RSA, EC, or OKP JWK can be accepted as an HMAC secret when it
is wrapped in a JWKS object, nested in an array, or represented in another
container form that does not expose a top-level `kty` member.
### Impact
An attacker who knows the public key material can forge HS256/HS384/HS512
tokens if the application simultaneously:
* allows both HS* and asymmetric algorithms;
* passes raw public JWK/JWKS JSON as `key=`; and
* uses that same value as the HMAC secret.
This can allow forged JWT claims in affected application configurations. The
issue does not affect
VulDB
jpadilla PyJWT up to 2.13.x HMAC Key Guard HMACAlgorithm.prepare_key signature verification
vuldb·2026-09-28·CVSS 7.4
CVE-2026-102273 [HIGH] jpadilla PyJWT up to 2.13.x HMAC Key Guard HMACAlgorithm.prepare_key signature verification
A vulnerability classified as critical has been found in jpadilla PyJWT up to 2.13.x. This affects the function HMACAlgorithm.prepare_key of the component HMAC Key Guard. This manipulation causes improper verification of cryptographic signature.
This vulnerability appears as CVE-2026-102273. The attack may be initiated remotely. There is no available exploit.
It is recommended to upgrade the affected component.
Ubuntu
PyJWT vulnerabilities
vendor_ubuntu·2026-10-15·CVSS 9.1
CVE-2026-102268 [CRITICAL] PyJWT vulnerabilities
Title: PyJWT vulnerabilities
Summary: Several security issues were fixed in PyJWT.
USN-8916-1 fixed vulnerabilities in PyJWT. This update provides the
corresponding fix for PyJWT on Ubuntu 26.10.
Original advisory details:
YuSung Han discovered that PyJWT did not properly validate certain JWK keys
when performing HMAC verification. An attacker could possibly use this
issue to forge authentication tokens. (CVE-2026-102266)
Rohan Das discovered that PyJWT incorrectly handled redirects when fetching
key sets. A remote attacker could possibly use this issue to cause PyJWT
to disclose sensitive information. (CVE-2026-102267)
It was discovered that PyJWT incorrectly recognized certain PEM
representations. An attacker who knew the public key could possibly use
this issue to forge authentica
Ubuntu
PyJWT vulnerabilities
vendor_ubuntu·2026-10-13·CVSS 9.1
CVE-2026-102267 [CRITICAL] PyJWT vulnerabilities
Title: PyJWT vulnerabilities
Summary: Several security issues were fixed in PyJWT.
YuSung Han discovered that PyJWT did not properly validate certain JWK keys
when performing HMAC verification. An attacker could possibly use this
issue to forge authentication tokens. This issue only affected Ubuntu
26.04 LTS. (CVE-2026-102266)
Rohan Das discovered that PyJWT incorrectly handled redirects when fetching
key sets. A remote attacker could possibly use this issue to cause PyJWT
to disclose sensitive information. This issue only affected Ubuntu 22.04
LTS, Ubuntu 24.04 LTS, Ubuntu 26.04 LTS. (CVE-2026-102267)
It was discovered that PyJWT incorrectly recognized certain PEM
representations. An attacker who knew the public key could possibly use
this issue to forge authentication tokens. This is
Red Hat
pyjwt: pyjwt: Token forgery via acceptance of public JWK containers as HMAC secrets
vendor_redhat·2026-09-28·CVSS 7.4
CVE-2026-102273 [HIGH] CWE-347 pyjwt: pyjwt: Token forgery via acceptance of public JWK containers as HMAC secrets
pyjwt: pyjwt: Token forgery via acceptance of public JWK containers as HMAC secrets
PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, PyJWT HMACAlgorithm.prepare_key is affected because HMAC key guard only recognizes top-level public JWK forms and misses container representations. This occurs when an application allows HMAC and asymmetric algorithms and passes a public JWK container as the raw key. As a result, public asymmetric key material is accepted as the HMAC secret. Consequently, an attacker who knows the public key can forge a token with arbitrary authenticated claims. This issue is fixed in version 2.14.0.
A flaw was found in PyJWT. This vulnerability allows an unauthenticated remote attacker to bypass authentication by forging arbitrary JSO
No detection rules found.
No public exploits indexed.
2026-09-28
Published