---
id: "GHSA-6m87-8wg6-hh8w"
kind: "vulnerability"
aliases: ["GHSA-6m87-8wg6-hh8w"]
title: "Duplicate Advisory: Authlib: empty signatures validation in JWS JSON deserialization"
severity: "critical"
cvss: 9.8
epss: null
exploited: false
status: "withdrawn"
category: "package"
products: [{"name": "authlib", "fixed": [], "affected": "< 1.9.0", "ecosystem": "pypi"}]
ecosystems: ["pypi"]
tags: ["authlib", "cwe-20", "jwt", "package", "python"]
not_affected_if: ["compact-jws-only", "no-jws-json-usage"]
published_at: "2026-09-28T21:31:18+00:00"
first_seen_at: "2026-10-27T14:52:48+00:00"
updated_at: "2026-10-27T14:53:46+00:00"
sources: [{"source": "ghsa", "url": "https://github.com/advisories/GHSA-6m87-8wg6-hh8w", "first_seen_at": "2026-10-27T14:52:48+00:00"}]
---

# Duplicate Advisory: Authlib: empty signatures validation in JWS JSON deserialization

Authlib's JsonWebSignature.deserialize_json() returns a payload as verified without checking any signature or requiring a key. An attacker can forge a token that the application treats as authentic.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- pypi:authlib affected < 1.9.0 fixed ?

## How to check

- Check the installed Authlib version with `pip show authlib` and compare it to the affected range below 1.9.0
- Search the codebase for `deserialize_json` to see whether JWS JSON serialization is parsed from untrusted input

## Fix

- Upgrade Authlib to `1.9.0` or later, which the duplicate advisory points to via GHSA-6v38-4h7w-rj9h
- unknown whether a specific patched version is listed in the sources

## Timeline

- 2026-10-27T14:52:48+00:00 ghsa https://github.com/advisories/GHSA-6m87-8wg6-hh8w

## From the sources

## Duplicate Advisory

This advisory has been withdrawn because it is a duplicate of GHSA-6v38-4h7w-rj9h. This link is maintained to preserve external references.

## Original Description
Authlib (v1.7.2 and below) contains a signature verification bypass vulnerability. The JsonWebSignature.deserialize_json() method accepts a JSON Serialization JWS object and returns the payload as successfully verified without checking for a signature and without requiring a cryptographic key.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
