CVE-2026-102946
CriticalCVSS 9.1Summary
joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. Prior to 1.7.4, joserfc.jws.deserialize_json() accepts a JWS General JSON Serialization with an empty signatures array as authenticated. The verify_general_json() loop performs no iterations for the empty array and returns success because no signature check failed, allowing an attacker without a signing key to supply an arbitrary payload that relying applications may treat as authentic. The issue affects the General JSON Serialization path; compact JWS and JWT decoding, Flattened JSON serialization, and JWE JSON processing do not follow this vulnerable path. This issue is fixed in version 1.7.4.
Risk Assessment
An attacker without a signing key can supply an arbitrary payload as authentic, potentially leading to data forgery and bypassing security controls in applications using joserfc.
Recommendation
Upgrade the joserfc library to version 1.7.4 or later and review applications using JWS General JSON Serialization for unauthorized payloads.
Other vulnerabilities in joserfc
See all- CVE-2026-75509Medium
joserfc, a Python library implementing JOSE standards, prior to version 1.7.3, has a vulnerability in JWTClaimsRegistry that applies membership matching to list-valued iss and sub claims, allowing an array-valued iss containing the expected issuer to pass an intended equality check and enabling issuer-validation bypass.
- CVE-2026-62995Low
The Python library joserfc versions 1.7.1 and earlier accept JWTs with trailing padding (==), which is non-conforming to JOSE specifications. This leads to token malleability, potentially allowing bypass of token revocation or anti-replay protection.
- CVE-2026-49852High
Vulnerability in the joserfc Python library before version 1.6.8 allows an attacker to forge HMAC tokens when the verification key is an empty string or None. The library does not reject zero-length keys, allowing signature verification bypass.
- CVE-2026-48990Medium
The joserfc library in versions 1.3.4 through 1.6.5 accepts oversized JWS payloads without proper length checks, potentially leading to resource exhaustion. This issue has been fixed in version 1.6.7.
Original NVD description (English source)
joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. Prior to 1.7.4, joserfc.jws.deserialize_json() accepts a JWS General JSON Serialization with an empty signatures array as authenticated. The verify_general_json() loop performs no iterations for the empty array and returns success because no signature check failed, allowing an attacker without a signing key to supply an arbitrary payload that relying applications may treat as authentic. The issue affects the General JSON Serialization path; compact JWS and JWT decoding, Flattened JSON serialization, and JWE JSON processing do not follow this vulnerable path. This issue is fixed in version 1.7.4.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

