SB2026110393 - Ubuntu update for pyjwt



SB2026110393 - Ubuntu update for pyjwt

Published: November 3, 2026

Security Bulletin ID SB2026110393
CSH Severity
High
Patch available
YES
Number of vulnerabilities 6
Exploitation vector Remote access
Highest impact Data manipulation

Breakdown by Severity

High 17% Medium 83%
  • Low
  • Medium
  • High
  • Critical

Description

This security bulletin contains information about 6 vulnerabilities.


1) Improper Verification of Cryptographic Signature (CVE-ID: CVE-2026-102266)

CWE-ID: CWE-347 - Improper Verification of Cryptographic Signature

CVSSv4: 9.1 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to bypass authentication.

The vulnerability exists due to improper verification of cryptographic signatures in PyJWK HMAC key verification when verifying HS256 tokens using an empty oct JWK. A remote attacker can generate a forged HS256 JWT signed with the zero-length HMAC key to bypass authentication.

The application must already load an empty symmetric oct JWK, and minimum HMAC key-length enforcement must be disabled.


2) Server-Side Request Forgery (SSRF) (CVE-ID: CVE-2026-102267)

CWE-ID: CWE-918 - Server-Side Request Forgery (SSRF)

CVSSv4: 9.1 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to disclose sensitive request headers and cause forged JWT acceptance.

The vulnerability exists due to improper validation of redirect destinations in PyJWKClient when fetching JWKS from an attacker-influenced configured endpoint. A remote attacker can cause the endpoint to return a redirect to a different host to disclose sensitive request headers and cause forged JWT acceptance.

A token kid alone does not trigger the issue.


3) Improper Verification of Cryptographic Signature (CVE-ID: CVE-2026-102268)

CWE-ID: CWE-347 - Improper Verification of Cryptographic Signature

CVSSv4: 9.3 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to forge arbitrary-claim tokens.

The vulnerability exists due to improper verification of cryptographic signatures in HMACAlgorithm.prepare_key and is_pem_format when processing a loader-accepted PEM public key that is not recognized as PEM under a mixed algorithm allow-list. A remote attacker can sign an HS256 token using the public key as an HMAC secret to forge arbitrary-claim tokens.

Exploitation requires knowledge of the public verification key, cryptography to be installed, and use of the raw PEM non-PyJWK verification path.


4) Improper Verification of Cryptographic Signature (CVE-ID: CVE-2026-102271)

CWE-ID: CWE-347 - Improper Verification of Cryptographic Signature

CVSSv4: 9.1 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to forge authentication tokens with arbitrary claims.

The vulnerability exists due to improper verification of cryptographic signatures in HMACAlgorithm.prepare_key when verifying tokens with DER-form asymmetric public keys while HMAC and asymmetric algorithms are enabled. A remote attacker can submit a forged HMAC-signed token to forge authentication tokens with arbitrary claims.

The issue does not affect PyJWK or PyJWKClient verification paths.


5) Improper Verification of Cryptographic Signature (CVE-ID: CVE-2026-102272)

CWE-ID: CWE-347 - Improper Verification of Cryptographic Signature

CVSSv4: 9.1 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to bypass authentication and authorization by forging JWTs containing arbitrary claims.

The vulnerability exists due to improper verification of cryptographic signatures in PyJWT's HMACAlgorithm.prepare_key() function in jwt/algorithms.py when processing BOM-prefixed RSA public JWK bytes. The bytes.lstrip() call removes only ASCII whitespace, allowing a UTF-8 byte order mark to bypass the JSON-prefix check and cause public key bytes to be accepted as an HMAC secret. A remote attacker can sign and submit an HS256 JWT using the verifier's known BOM-prefixed public JWK bytes as the secret to have arbitrary claims accepted and bypass authentication and authorization.

Exploitation requires the verifier to allow both an asymmetric algorithm and an HMAC algorithm.


6) Improper Verification of Cryptographic Signature (CVE-ID: CVE-2026-102273)

CWE-ID: CWE-347 - Improper Verification of Cryptographic Signature

CVSSv4: 9.1 [CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to forge JWT claims.

The vulnerability exists due to improper verification of cryptographic signatures in PyJWT's HMAC key handling when verifying tokens with a public JWK container supplied as an HMAC key. A remote attacker can use known public key material to create forged HS256, HS384, or HS512 tokens to forge JWT claims.

Exploitation requires an application to allow both symmetric and asymmetric algorithms in the same verification path and use raw public JWK or JWKS JSON as the HMAC key.


Remediation

Install update from vendor's website.