p PatchFirst

CVE-2025-59420

CVE-2025-59420 · Authlib: JWS/JWT accepts unknown crit headers (RFC violation → possible authz bypass)

This page contains facts from public vulnerability sources. Check the original advisory before updating.

Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to version 1.6.4, Authlib’s JWS verification accepts tokens that declare unknown critical header parameters (crit), violating RFC 7515 “must‑understand” semantics. An attacker can craft a signed token with a critical header (for example, bork or cnf) that strict verifiers reject but Authlib accepts. In mixed‑language fleets, this enables split‑brain verification and can lead to policy bypass, replay, or privilege escalation. This issue has been patched in version 1.6.4.

CVSS 7.5 · High · EPSS 0.3% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • authlib

    Versions
    • < 1.6.4: Affected

    No fix published

  • python-authlib Debian:12

    Versions
    • 1.2.0-1
    Affected ranges
    • ECOSYSTEM: < 1.2.0-1+deb12u1

    Update to 1.2.0-1+deb12u1

  • python-authlib Debian:13

    Versions
    • 1.6.0-1
    Affected ranges
    • ECOSYSTEM: < 1.6.0-1+deb13u1

    Update to 1.6.0-1+deb13u1

  • python-authlib Debian:14

    Versions
    • 1.6.0-1
    • 1.6.1-1
    • 1.6.3-1
    Affected ranges
    • ECOSYSTEM: < 1.6.4-1

    Update to 1.6.4-1

  • authlib PyPI

    Versions
    • 0.1
    • 0.10
    • 0.11
    • 0.12
    • 0.12.1
    • 0.13
    • 0.14
    • 0.14.1
    • 0.14.2
    • 0.14.3
    • 0.15
    • 0.15.1
    • 0.15.2
    • 0.15.3
    • 0.15.4
    • 0.15.5
    • 0.15.6
    • 0.1rc0
    • 0.2
    • 0.2.1
    • 0.3
    • 0.4
    • 0.4.1
    • 0.5
    • 0.5.1
    • 0.6
    • 0.7
    • 0.8
    • 0.9
    • 1.0.0
    • 1.0.0a1
    • 1.0.0a2
    • 1.0.0b1
    • 1.0.0b2
    • 1.0.0rc1
    • 1.0.1
    • 1.1.0
    • 1.2.0
    • 1.2.1
    • 1.3.0
    • 1.3.1
    • 1.3.2
    • 1.4.0
    • 1.4.1
    • 1.5.0
    • 1.5.1
    • 1.5.2
    • 1.6.0
    • 1.6.1
    • 1.6.2
    • 1.6.3
    Affected ranges
    • ECOSYSTEM: < 1.6.4

    Update to 1.6.4

  • python-authlib Ubuntu:Pro:22.04:LTS

    Versions
    • 0.15.4-1
    • 0.15.5-1
    Affected ranges
    • ECOSYSTEM: < 0.15.5-1ubuntu0.1~esm1

    Update to 0.15.5-1ubuntu0.1~esm1

  • python-authlib Ubuntu:Pro:24.04:LTS

    Versions
    • 1.2.1-1
    • 1.3.0-1
    Affected ranges
    • ECOSYSTEM: < 1.3.0-1ubuntu0.1~esm1

    Update to 1.3.0-1ubuntu0.1~esm1

  • python-authlib Ubuntu:25.10

    Versions
    • 1.5.1-1
    • 1.5.2-1
    • 1.6.0-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-authlib Ubuntu:26.10

    Versions
    • 1.6.7-1
    • 1.7.2-1
    • 1.7.2-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-authlib Ubuntu:Pro:26.04:LTS

    Versions
    • 1.6.0-1
    • 1.6.5-1
    • 1.6.6-1
    • 1.6.7-1
    • 1.6.7-1ubuntu0.1~esm1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →