CVE-2026-102946 joserfc: JWS signature verification bypass via empty signatures array in jws.deserialize_json

Critical 9.1 Published Updated

Attackers can bypass JWS signature verification by providing an empty signatures array, allowing them to forge authenticated payloads in applications using joserfc.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-102946?

CVE-2026-102946 is a critical vulnerability in authlib joserfc, published on 15 Oct 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-347, CWE-345, CWE-290

Which versions are affected by CVE-2026-102946?

Linux distribution packages (2)
python-joserfc openSUSE:Leap 16.0All versions1.1.0-bp160.5.1
python-joserfc openSUSE:TumbleweedAll versions1.7.7-1.1

How do I fix CVE-2026-102946?

Upgrade to a fixed version.

Is CVE-2026-102946 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-102946 exists.

Sources

Also known as DEBIAN-CVE-2026-102946, GHSA-4pp3-559j-c5c2, UBUNTU-CVE-2026-102946, openSUSE-SU-2026:12204-1, openSUSE-SU-2026:22136-1.

Is CVE-2026-102946 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free