---
id: CVE-2026-102946
title: >-
  joserfc is a Python library that provides an implementation of several JSON
  Object Signing and Encryption (JOSE) standards
summary: >-
  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 …
severity: critical
cvss: 9.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-290
  - CWE-345
  - CWE-347
vendor: authlib
product: joserfc
affected:
  - joserfc < 1.7.4
published: '2026-10-15'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T19:17:13.560'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-102946'
references:
  - url: >-
      https://github.com/authlib/joserfc/commit/f409f8f058225d7686acab6546c94593e4c1bfbe
    label: security-advisories@github.com
  - url: 'https://github.com/authlib/joserfc/releases/tag/1.7.4'
    label: security-advisories@github.com
  - url: 'https://github.com/authlib/joserfc/security/advisories/GHSA-4pp3-559j-c5c2'
    label: security-advisories@github.com
tags:
  - nvd
  - cve.org
  - exploit-available
ingestedAt: '2026-10-15T19:25:46.394Z'
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-10-15T19:52:38.661517Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
