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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-290",
"CWE-345",
"CWE-347"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/102xxx/CVE-2026-102946.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.7.4"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "f409f8f058225d7686acab6546c94593e4c1bfbe"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "1.7.4",
"range": [
{
"fixed": "7facdee77fc8735ad88e586b31c5b0c940ee0a78"
}
],
"source": "REFERENCES_TAG"
}
]
}