9.1
CRITICAL CVSS 3.1
CVE-2026-102946
joserfc: JWS signature verification bypass via empty signatures array in jws.deserialize_json
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.

INFO

Published Date :

Oct. 15, 2026, 7:17 p.m.

Last Modified :

Oct. 15, 2026, 8:17 p.m.

Remotely Exploit :

Yes !
Affected Products

The following products are affected by CVE-2026-102946 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Hsiaoming joserfc
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 134c704f-9b21-4f2e-91b3-4a467353bcc0
CVSS 3.1 CRITICAL MITRE-CVE
CVSS 3.1 CRITICAL [email protected]
Solution
Update joserfc to version 1.7.4 or later to fix the JWS deserialization vulnerability.
  • Update the joserfc library to version 1.7.4 or later.
  • Validate JWS General JSON Serialization signatures securely.
  • Review application trust decisions for JWS data.
  • Avoid using JWS General JSON Serialization if possible.
References to Advisories, Solutions, and Tools
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-102946 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-102946 weaknesses.

CAPEC-21: Exploitation of Trusted Identifiers Exploitation of Trusted Identifiers CAPEC-22: Exploiting Trust in Client Exploiting Trust in Client CAPEC-59: Session Credential Falsification through Prediction Session Credential Falsification through Prediction CAPEC-60: Reusing Session IDs (aka Session Replay) Reusing Session IDs (aka Session Replay) CAPEC-94: Adversary in the Middle (AiTM) Adversary in the Middle (AiTM) CAPEC-459: Creating a Rogue Certification Authority Certificate Creating a Rogue Certification Authority Certificate CAPEC-461: Web Services API Signature Forgery Leveraging Hash Function Extension Weakness Web Services API Signature Forgery Leveraging Hash Function Extension Weakness CAPEC-473: Signature Spoof Signature Spoof CAPEC-476: Signature Spoofing by Misrepresentation Signature Spoofing by Misrepresentation CAPEC-667: Bluetooth Impersonation AttackS (BIAS) Bluetooth Impersonation AttackS (BIAS) CAPEC-111: JSON Hijacking (aka JavaScript Hijacking) JSON Hijacking (aka JavaScript Hijacking) CAPEC-141: Cache Poisoning Cache Poisoning CAPEC-142: DNS Cache Poisoning DNS Cache Poisoning CAPEC-148: Content Spoofing Content Spoofing CAPEC-218: Spoofing of UDDI/ebXML Messages Spoofing of UDDI/ebXML Messages CAPEC-384: Application API Message Manipulation via Man-in-the-Middle Application API Message Manipulation via Man-in-the-Middle CAPEC-385: Transaction or Event Tampering via Application API Manipulation Transaction or Event Tampering via Application API Manipulation CAPEC-386: Application API Navigation Remapping Application API Navigation Remapping CAPEC-387: Navigation Remapping To Propagate Malicious Content Navigation Remapping To Propagate Malicious Content CAPEC-388: Application API Button Hijacking Application API Button Hijacking CAPEC-665: Exploitation of Thunderbolt Protection Flaws Exploitation of Thunderbolt Protection Flaws CAPEC-701: Browser in the Middle (BiTM) Browser in the Middle (BiTM) CAPEC-463: Padding Oracle Crypto Attack Padding Oracle Crypto Attack CAPEC-475: Signature Spoofing by Improper Validation Signature Spoofing by Improper Validation

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-102946 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-102946 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0

    Oct. 15, 2026

    Action Type Old Value New Value
    Added Reference https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2
    Added SSVC {'id': 'CVE-2026-102946', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'yes'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-10-15T19:52:38.661517Z'}
  • New CVE Received by [email protected]

    Oct. 15, 2026

    Action Type Old Value New Value
    Added 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.
    Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
    Added CWE CWE-345
    Added CWE CWE-347
    Added CWE CWE-290
    Added Affected New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/102xxx/CVE-2026-102946.json">CVE-2026-102946</a>
    Added Reference https://github.com/authlib/joserfc/commit/f409f8f058225d7686acab6546c94593e4c1bfbe
    Added Reference https://github.com/authlib/joserfc/releases/tag/1.7.4
    Added Reference https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.