CVE-2026-102946

critical

Description

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.

References

https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2

https://github.com/authlib/joserfc/releases/tag/1.7.4

https://github.com/authlib/joserfc/commit/f409f8f058225d7686acab6546c94593e4c1bfbe

https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-102310

Details

Source: Mitre, NVD

Published: 2026-10-15

Updated: 2026-10-15

Risk Information

CVSS v2

Base Score: 9.4

Vector: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:N

Severity: High

CVSS v3

Base Score: 9.1

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

Severity: Critical

EPSS

EPSS: 0.00117