IT SBIT Services
Schneeberger
DEEN
CVE tracker

joserfc: Signature verification bypass via empty signatures array in JWS General JSON

CVE-2026-102946Critical 9.1

← All vulnerabilities

Summary

joserfc is a Python library implementing JOSE standards. Before version 1.7.4, the General JSON Serialization path of JWS deserialization treats a message with an empty signatures array as authenticated. An attacker without a signing key can therefore supply an arbitrary payload that the relying application may accept as genuine. The flaw does not affect compact JWS/JWT, Flattened JSON serialization or JWE JSON processing.

Affected

  • joserfc versions prior to 1.7.4 (vendor advisory GHSA-4pp3-559j-c5c2)
  • Only applications that use jws.deserialize_json() with General JSON Serialization are affected
  • Note: third-party databases list different ranges (for example 1.7.3-1.7.4); the vendor range is treated as authoritative

Fixed in

  • Fixed in joserfc 1.7.4 (fix commit f409f8f)
  • Newer releases exist; check the latest stable release notes before upgrading

Workaround

  • No vendor-documented workaround.
  • If an upgrade is delayed, review application code that calls General JSON deserialization and do not trust its result without independent checks.

Exploitation

  • CISA SSVC data (ADP) lists exploitation as 'poc' and automatable as 'yes'.
  • No confirmed in-the-wild exploitation found.
  • Not listed in CISA KEV.

Our recommendation

  • Check for joserfc in application dependencies, SBOMs and pip lock files, including indirect dependencies.
  • Upgrade to joserfc 1.7.4 or later.
  • Prioritise internet-facing Python services that verify JOSE objects.
  • Test the authentication path after the upgrade and review code that uses General JSON serialization.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 06:32.

Original description (NVD)

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.

NVD references (4)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.