p PatchFirst

CVE-2026-114620

CVE-2026-114620 · Authlib: Unvalidated request_uri fetch in JWT-secured authorization request (JAR) leading to SSRF

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 1.9.0, Authlib's RFC 9101 JWTAuthenticationRequest passes the unauthenticated, client-controlled request_uri parameter to the abstract get_request_object() hook before applying a destination or registration policy; the hook itself performs no network request, while the documentation demonstrates an unrestricted HTTP fetch. In deployments whose integrator implements that hook as an unrestricted outbound fetch, a remote attacker who knows a valid public client identifier can make the authorization server request internal, link-local, or otherwise unintended URLs and can distinguish fetch outcomes through different error responses and timing. Deployments whose custom hook already applies a secure allowlist, destination controls, and retrieval limits are not affected. The JWTAuthenticationRequest implementation in authlib/oauth2/rfc9101/authorization_server.py forwards request_uri to get_request_object() before an application-approved retrieval policy accepts the destination. This issue is fixed in version 1.9.0.

CVSS 5.4 · Medium · EPSS 0.3%

Published
Updated

Stack: system

Affected products and versions

  • authlib

    Versions
    • < 1.9.0: Affected

    No fix published

  • python-authlib Debian:12

    Versions
    • 1.2.0-1
    • 1.2.0-1+deb12u1
    • 1.2.0-1+deb12u2
    • 1.2.1-1
    • 1.3.0-1
    • 1.3.0-2
    • 1.3.0-3
    • 1.3.1-1
    • 1.3.2-1
    • 1.3.2-2
    • 1.4.0-1
    • 1.4.1-1
    • 1.5.0-1
    • 1.5.1-1
    • 1.5.2-1
    • 1.6.0-1
    • 1.6.1-1
    • 1.6.3-1
    • 1.6.4-1
    • 1.6.5-1
    • 1.6.6-1
    • 1.6.7-1
    • 1.6.8-1
    • 1.6.9-1
    • 1.7.0-1
    • 1.7.2-1
    • 1.7.2-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-authlib Debian:13

    Versions
    • 1.6.0-1
    • 1.6.0-1+deb13u1
    • 1.6.1-1
    • 1.6.3-1
    • 1.6.4-1
    • 1.6.5-1
    • 1.6.6-1
    • 1.6.7-1
    • 1.6.8-1
    • 1.6.9-1
    • 1.7.0-1
    • 1.7.2-1
    • 1.7.2-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-authlib Debian:14

    Versions
    • 1.6.0-1
    • 1.6.1-1
    • 1.6.3-1
    • 1.6.4-1
    • 1.6.5-1
    • 1.6.6-1
    • 1.6.7-1
    • 1.6.8-1
    • 1.6.9-1
    • 1.7.0-1
    • 1.7.2-1
    • 1.7.2-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-authlib Ubuntu:Pro:22.04:LTS

    Versions
    • 0.15.4-1
    • 0.15.5-1
    • 0.15.5-1ubuntu0.1~esm1
    • 0.15.5-1ubuntu0.1~esm2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-authlib Ubuntu:Pro:24.04:LTS

    Versions
    • 1.2.1-1
    • 1.3.0-1
    • 1.3.0-1ubuntu0.1~esm1
    • 1.3.0-1ubuntu0.1~esm2
    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 →