External risk intelligence

joserfc Signature Verification Bypass via Empty Signatures Array

CVE advisorySeverity: CRITICAL (CVSS 9.1)

CVE-2026-102946

The vulnerability exists in a Python library used for JOSE (JSON Object Signing and Encryption) processing. While such libraries are frequently used in internet-facing web applications and API services to handle authentication tokens or data signatures, the library itself is a software component rather than a standalone service, and its exposure depends entirely on how it is implemented by the consuming application.

Halo Surface Signal: 3 out of 5 — possibly public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

A vulnerability in the joserfc Python library could allow an attacker to bypass signature verification for certain types of JSON Web Signatures, potentially leading to the acceptance of unauthenticated data as legitimate. This issue is specific to the General JSON Serialization path and does not affect other JOSE processing methods. The main concern is confirming relevance and exposure within your applications that utilize this library for handling signed data.

  • Unauthenticated data can be accepted as legitimate.
  • Library used for signing and encryption data.
  • Confirm relevance and exposure within applications.

Attack Path

How an attacker could exploit the issue

An attacker can send a specially crafted JSON Web Signature (JWS) containing an empty signatures array to an application using the joserfc library. The library will incorrectly process this malformed signature as valid, allowing the attacker to bypass authentication and potentially inject arbitrary content that the application will trust.

  • No authentication required.
  • JWS General JSON Serialization with empty signatures.
  • Application treats unverified payload as authentic.

Live Threat

Current exploitation, exposure, and threat context

When supported by the advisory, applications using `joserfc` for JWS General JSON Serialization might incorrectly authenticate untrusted payloads if an empty signature array is provided. This could allow an attacker to supply arbitrary data that the application then treats as legitimate.

  • JWS General JSON Serialization data.
  • Empty signature array provided.
  • Untrusted data authenticated as valid.

Operational Fix

Recommended remediation, mitigation, and detection steps

The joserfc Python library's vulnerability in handling empty signature arrays affects applications that use its General JSON Serialization path for JWS deserialization. The first step is to identify all applications consuming this library, determine their exposure and criticality, and locate the accountable application owners. Once identified, a targeted remediation plan can be developed based on risk.

  • Confirm applications using this library.
  • Verify General JSON Serialization usage.
  • Plan remediation with application owners.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is the joserfc library?

joserfc is a Python library used by developers to implement JSON Object Signing and Encryption (JOSE) standards. It handles tasks like signing and verifying data, as well as encryption, which are essential for securing JSON Web Tokens (JWT) and other signed JSON objects in web applications and API services.

What does CVE-2026-102946 mean for signature verification?

This vulnerability involves improper authentication and signature validation, classified under CWE-290, CWE-345, and CWE-347. Essentially, the library fails to verify the presence of signatures in certain JSON structures. Because it mistakenly treats an empty signature list as a successful verification, it may accept unauthorized data as authentic.

How can an attacker trigger this vulnerability?

An attacker can trigger the issue by sending a specially crafted JWS using the General JSON Serialization format that contains an empty signatures array. Importantly, this flaw does not affect other processing methods; compact JWS, JWT decoding, Flattened JSON serialization, and JWE JSON processing remain secure against this specific attack path.

Is my application at risk?

According to Halo Surface Signal, risk depends on how your application implements this library. Applications that are internet-facing and rely on the General JSON Serialization path to process signed data are primary candidates for review. If your software uses joserfc to handle incoming API data, you should confirm if this specific serialization path is active.

How do I address this CVE in my environment?

Start by identifying all applications in your environment that utilize the joserfc library. Once you have an inventory, verify which ones employ the General JSON Serialization path for deserialization. Prioritize these for an update, as the vulnerability is resolved in version 1.7.4.

References