Paper/Archive/CVE-2026-102946

CVE-2026-102946

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

Description · from the CVE record

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.

Affected

ProductAffectedFixed inSource
joserfc< 1.7.4–CNA

Scores by source

GitHub_M (CNA)9.1CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CISA ADPSSVCExploitation: poc · Automatable: yes · Technical impact: total

References

exploitgithub.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2refgithub.com/authlib/joserfc/commit/f409f8f058225d7686acab6546c94593e4c1bfberefgithub.com/authlib/joserfc/releases/tag/1.7.4