PHP2Shell : See if you’re affected with a free external attack surface scan. Click Here > 

New CVE Detected

CVE-2026-96760 – Authentication Bypass / Signature Verification Bypass – Authlib ≤ 1.7.2

Be the first to know when new zero-days emerge:

Summary

CVE-2026-96760 is a critical signature verification bypass in Authlib, a widely used Python library for OAuth and JOSE (JWT/JWS/JWE) functionality. The JsonWebSignature.deserialize_json() function (and its generic deserialize() dispatcher) in Authlib versions 1.7.2 and earlier accepts General JSON Serialization JWS objects whose signatures array is empty, and incorrectly returns the payload as successfully verified without ever performing a cryptographic signature check or requiring a key. The flaw carries a CVSS v3.1 base score of 9.8 (Critical) and can allow unauthenticated attackers to forge arbitrary signed payloads over the network.

Technical details

  • Root cause: In authlib/jose/rfc7515/jws.py, the verification routine initializes a local is_valid flag to True before iterating over the JWS object’s signatures array to validate each signature. If the signatures array is empty, the loop body — which contains all of the actual cryptographic verification logic — never executes, so is_valid remains True and the function returns the payload as verified.
  • Trigger condition: An attacker submits a JSON Serialization JWS object containing an attacker-controlled payload but with an empty signatures: [] array to JsonWebSignature.deserialize_json() (or the generic deserialize() entry point).
  • Attack vector: Network-based, no authentication, no user interaction, and no cryptographic key required — the attacker only needs to craft the malformed JWS structure.
  • Scope limitation: The flaw is confined to Authlib’s General JSON Serialization JWS handling in the authlib.jose module; the compact serialization path used by jwt.decode() is not affected.
  • Impact: Successful exploitation lets an attacker forge authentication/authorization claims, bypass identity checks, escalate privileges, inject trusted messages between services, or tamper with signed configuration data in any application that relies on Authlib’s JSON JWS deserialization to validate trust.

Affected software

  • Authlib (Python) versions up to and including 1.7.2, specifically the authlib.jose JWS General JSON Serialization deserialization path.
  • Compact-serialization JWT usage via jwt.decode() is not affected.
  • Authlib 1.8.0 (released August 30, 2026) removed the authlib.jose module entirely; its release notes and code changes do not explicitly confirm a fix for this specific logic flaw.

Severity

  • CVSS v3.1 Base Score: 9.8 (Critical)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Mitigation and recommended actions

  • Immediate: No official patch exists for the authlib.jose module as of disclosure; the vendor could not be reached during the coordinated disclosure process. Organizations should monitor the official Authlib GitHub repository for a security fix and upgrade as soon as one is released.
  • Interim workaround: Applications that use JsonWebSignature.deserialize_json() or the generic deserialize() function to process untrusted JSON Serialization JWS input should stop trusting its output for authentication or authorization decisions until a fix is confirmed, or add explicit application-level checks that reject JWS objects with an empty signatures array before passing them to Authlib.
  • Longer-term: Evaluate migrating to Authlib 1.8.0 or later, which removes the affected authlib.jose module, or switch JWS/JWT validation to the compact serialization path (jwt.decode()), which is not affected by this flaw. Confirm with upstream whether any replacement JOSE handling in 1.8+ has been independently verified to perform proper signature validation before relying on it.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge