Authlib signature verification bypass in JWS deserialization
Authlib up to 1.7.2 accepts empty JWS signature arrays, allowing attackers to forge authentication tokens and bypass signature verification without key material.
Sourcekb.cert.org — open the original
What to check
- Applies to
- The 1 CVE named below. Whether you run an affected version is not assessed: check the versions the source lists.
- Exploitation
- No exploitation in the wild and no public exploit is recorded for the CVEs named.
Authlib, a widely-used Python library for OAuth, OpenID Connect, and JWT/JWS/JWE handling, contains a critical signature-verification bypass in its JSON Web Signature deserialization function. The JsonWebSignature.deserialize_json() method incorrectly treats JWS objects with empty "signatures" arrays as validly signed, allowing attackers to supply forged payloads without any cryptographic key material. Both JSON and compact JWS deserialization methods are affected. An attacker can exploit this to forge authentication tokens with arbitrary claims (identity, privilege escalation), inject malicious messages between microservices, forge authorization claims, or bypass integrity checks in systems relying on JWS verification. The vulnerability has been reported but no official patch was available at the time of the CERT/CC advisory publication. Affected organizations should monitor the Authlib GitHub repository for updates and upgrade immediately once a fix is released.
Mentioned in this report
Source reporting: https://kb.cert.org/vuls/id/762428
Free public brief. Slack alerts on the vendors you run come with the paid plans, and a new account gets three days of them, no card.
What this brief leaves out
This page is the free tier: the write-up, the severity, the names. In the app the same report carries live profiles of the CVEs it names. The paid plans add the security research and news reporting the free tier leaves out.
It sits in a corpus of 16,436 reports from 149 sources, 661 of them written in the last seven days, and it grows through the day.
A new account starts with three days of all of it, no card, then keeps the government and CERT reporting free. Slack alerts are a paid-plan feature: name the vendors you run and Slack hears about the reports that touch them, not the rest of the week's. Nothing is charged unless you subscribe.
Create a free account What it costs