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.
Critical 9.1
CVE-2026-102946
Authlib joserfc — unsafe deserialization.
joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards.
Published Source NVD
CVSS 3.1
9.1
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Exploit chance, 30 days
0.1%
Higher than 1% of all CVEs (EPSS)
Status
No known exploitation
Not in CISA KEV
Patch
Unknown
Check the vendor advisory
What happened
What to do
- 01Check whether you run Authlib joserfc, and which version.
- 02Follow the vendor advisory for a fix or a workaround.
References
Timeline · UTC
- Published to NVD
Also actively exploited