Vulnerability · Published Oct 15, 2026 · Assigned by GitHub_M

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

Critical 9.1

In plain English

A critical-severity authentication bypass by spoofing in joserfc from authlib. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.1% (higher than 2% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)9.1Critical
Exploit odds (30 days)0.1%top 98.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:13joserfcno fix listedDEBIAN-CVE-2026-102946
Debian:14joserfc1.7.4-1DEBIAN-CVE-2026-102946
Ubuntu:26.04:LTSjoserfcno fix listedUBUNTU-CVE-2026-102946
Ubuntu:26.10joserfcno fix listedUBUNTU-CVE-2026-102946

Affected products (as reported)

VendorProductVersions
authlib joserfc < 1.7.4

Weakness: CWE-290, CWE-345, CWE-347 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

References