Ad · Leaderboard 728×90

CVE-2026-102946

9.1Critical

Published 15 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash

9.1Critical
Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None
Impact
High impact on confidentiality, integrity
Weakness
CWE-290, CWE-345, CWE-347

Impact

Remote, unauthenticated attackers can forge authentic-looking JWS payloads without a signing key. They only need network access to send payloads parsed via General JSON Serialization to the vulnerable application.

Root cause

The verify_general_json() function treats an empty signatures array as successfully authenticated because its verification loop performs zero iterations and never triggers a failure.

Affected systems

joserfc prior to 1.7.4

CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Fix & remediation

Upgrade the joserfc package to version 1.7.4 or later. If patching must wait, reject or avoid using General JSON Serialization in favor of compact JWS, JWT, or Flattened JSON serialization.

shell
$ pip install --upgrade 'joserfc>=1.7.4'

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

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

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-102946

Ad · Sticky 320×50 / 728×90