CVE-2026-96760: Authlib · empty signatures validation in JWS JSON deserialization
Affects kimi-cliSource GCVE Database
Not known to be exploited · CVSS 9.1 Critical · fixed in 1.9.0 : patch kimi-cli as a priority.
Data as of 30 Oct 2026, 06:59 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 37% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 1.9.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NExploitation evidence
Disclosed: evidence found.
CVE published 29 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewkimi-clipkg:brew/kimi-cliOther threats | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in Authlib version 1.9.0 and later that addresses this vulnerability by rejecting empty 'signatures' arrays or properly initializing the validation flag based on the presence of signatures. Users should upgrade to Authlib 1.9.0 or later to remediate this issue. Until upgraded, avoid using JsonWebSignature.deserialize_json() on untrusted input or implement additional signature validation checks to reject empty 'signatures' arrays.
Description
Authlib versions prior to 1.9.0 contain a critical signature verification bypass vulnerability in the JsonWebSignature.deserialize_json() method. This flaw allows an attacker to submit a JSON Web Signature (JWS) object with an empty 'signatures' array, which the method incorrectly accepts as valid without verifying any signature or requiring a cryptographic key. This results in an authentication bypass where attacker-controlled payloads are accepted as legitimately signed. The issue arises because the validation flag is initialized to true and only set to false inside a loop that does not execute if the signatures array is empty. This vulnerability is fixed by rejecting empty signatures arrays or properly initializing the validation flag based on the presence of signatures.
Reports on CVE-2026-96760
References
- github.com/authlib/authlib/security/advisories/GHSA-6v38-4h7w-rj9h (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-96760 (opens in a new tab)
- github.com/authlib/authlib/pull/938 (opens in a new tab)
- github.com/authlib/authlib/commit/6c11a02da8730914cea08ec195f1108a40dc6733 (opens in a new tab)
- github.com/authlib/authlib (opens in a new tab)
- github.com/authlib/authlib/releases/tag/v1.9.0 (opens in a new tab)
- kb.cert.org/vuls/id/762428 (opens in a new tab)
- kb.cert.org/vuls/id/762428 (opens in a new tab)