CVE-2026-102946 PUBLISHED

joserfc: JWS signature verification bypass via empty signatures array in jws.deserialize_json

Assigner: GitHub_M
Reserved: 29.09.2026 Published: 15.10.2026 Updated: 15.10.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS Score: 9.1

Product Status

Vendor authlib
Product joserfc
Versions
  • Version < 1.7.4 is affected

References

Problem Types

  • CWE-290: Authentication Bypass by Spoofing CWE
  • CWE-345: Insufficient Verification of Data Authenticity CWE
  • CWE-347: Improper Verification of Cryptographic Signature CWE