{"id":"CVE-2026-102946","published":"2026-10-15T19:17:13.423","lastModified":"2026-10-15T20:17:05.407","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.","cvssScore":9.1,"cvssSeverity":"CRITICAL","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","cwes":["CWE-290","CWE-345","CWE-347"],"vendors":[],"products":[],"references":[{"url":"https://github.com/authlib/joserfc/commit/f409f8f058225d7686acab6546c94593e4c1bfbe","tags":[]},{"url":"https://github.com/authlib/joserfc/releases/tag/1.7.4","tags":[]},{"url":"https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2","tags":[]},{"url":"https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2","tags":[]}],"exploitRefs":[{"url":"https://github.com/authlib/joserfc/commit/f409f8f058225d7686acab6546c94593e4c1bfbe","tags":[]},{"url":"https://github.com/authlib/joserfc/releases/tag/1.7.4","tags":[]},{"url":"https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2","tags":[]},{"url":"https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2","tags":[]}],"hasPoc":true,"ai":{"summary":"The joserfc library incorrectly accepts JWS General JSON Serialization with empty signatures arrays as authenticated, allowing attackers to forge valid-looking JWTs without possessing the signing key. This creates a critical authentication bypass vulnerability where applications trust arbitrary payloads as authentic.","exploitability":"Very easy to exploit with no preconditions - attackers simply need to craft a JWS General JSON payload with an empty signatures array and provide it to vulnerable applications, which will treat it as authenticated without any signature verification.","blast_radius":"Widespread impact across any application using joserfc 1.7.3 or earlier for JWT validation, potentially affecting authentication systems, API gateways, and microservices that rely on JWT-based authentication.","remediation":"Upgrade to version 1.7.4 immediately","detection":"No reliable host or network indicator is derivable from the published description.","tags":["jwt","auth-bypass","authentication","api"],"model":"garnet-coder","analyzedAt":"2026-10-16T08:48:45.909Z"}}