# CVE-2026-96760: Authlib JSON Web Signature verification bypass

Source: https://junglewise.ai/threats/cve-2026-96760-authlib-v1-7-2-and-below-contains-a-signature-verification-bypass  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-28. Updated: 2026-09-28  
License: CC BY 4.0 with a link back

CVE-2026-96760 · Severity: critical · CVSS 9.1 · Published 2026-09-28

Authlib is a Python library that handles cryptographic authentication and authorization for web applications, including digital signature verification for JSON Web Tokens. A vulnerability in the library allows attackers to bypass signature verification entirely by submitting tokens with no signatures, causing the library to treat forged data as legitimate. An attacker could forge authentication tokens to impersonate users, escalate privileges, or inject malicious content into systems that rely on this library.

Technologies: [Authlib](https://junglewise.ai/threats/technologies/authlib-authlib), [authlib (PyPI)](https://junglewise.ai/threats/technologies/authlib). Vendors: [Authlib](https://junglewise.ai/threats/vendors/authlib), [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2026-96760 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-96760 being exploited in the wild.

**How severe is CVE-2026-96760?** Critical severity, with a CVSS score of 9.1, published 28 September 2026.

**Which products and versions are affected?** Authlib v1.7.2 and below; authlib (PyPI) <= 1.8.0, ECOSYSTEM:introduced=0,fixed=1.9.0.

**Is there a fix for CVE-2026-96760?** Yes. authlib (PyPI): upgrade to 1.9.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-96760 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-96760?** Check whether you run Authlib or authlib (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- authlib (PyPI): upgrade to 1.9.0 or later

  ```sh
  pip install "authlib>=1.9.0"
  ```


## Technical details

The JsonWebSignature.deserialize_json() method fails to validate JWS objects when the "signatures" array is empty, treating unsigned payloads as successfully verified. This is a logic flaw in the deserialization routine that assumes all JWS objects have valid signatures and skips verification entirely when none are present. An attacker can exploit this with network access to any system validating JWS tokens, requiring no authentication or cryptographic key material.

## Affected products

- Authlib Authlib v1.7.2 and below

## Identifiers

- CVE-2026-96760
- GHSA-6v38-4h7w-rj9h

## Timeline

- 2026-09-28: disclosed
- 2026-08-21: other: Vendor notification attempted

## References

- [https://github.com/authlib/authlib](https://github.com/authlib/authlib)
- [https://kb.cert.org/vuls/id/762428](https://kb.cert.org/vuls/id/762428)

## Related threats

- [Authlib client configuration endpoint authorization bypass](https://junglewise.ai/threats/cve-2026-116672-authlib-is-a-python-library-which-builds-oauth-and-openid)
- [Authlib RFC 9101 server-side request forgery in request_uri parameter](https://junglewise.ai/threats/cve-2026-114620-authlib-is-a-python-library-which-builds-oauth-and-openid)
- [Authlib OpenID Connect scope validation bypass](https://junglewise.ai/threats/cve-2026-114619-authlib-is-a-python-library-which-builds-oauth-and-openid)
- [Authlib JWT Bearer Grant audience validation bypass](https://junglewise.ai/threats/cve-2026-114618-authlib-is-a-python-library-which-builds-oauth-and-openid)
- [Authlib nonce validation bypass in OpenID token parsing](https://junglewise.ai/threats/cve-2026-114617-authlib-is-a-python-library-which-builds-oauth-and-openid)
