Description
Authlib is a Python library which builds OAuth and OpenID Connect servers. From 0.13 until 1.8.0, authlib.common.security.is_secure_transport() uses a textual prefix comparison for loopback HTTP exemptions, so a URL whose userinfo begins with a loopback host can be accepted even when its parsed host is an external non-loopback system. An external party able to supply a URL to OIDC RP-Initiated Logout registration, authorization-server metadata validation, or another call site can bypass the TLS-required guard and cause cleartext redirection or acceptance of cleartext endpoints. The issue does not bypass redirect URI exact matching and does not by itself forge tokens or authenticate users. The vulnerable authlib.common.security.is_secure_transport() implementation in authlib/common/security.py misinterprets the userinfo component before OIDC RP-Initiated Logout dynamic client registration and other consumers enforce transport security. This issue is fixed in version 1.8.0.
Published: 2026-10-22
Score: 2.6 Low
EPSS: n/a
KEV: No
Impact: Transport Security Bypass
Action: Patch
AI Analysis

Impact

Authlib’s is_secure_transport() function incorrectly treats URLs whose userinfo starts with a loopback host as safe, so an attacker can supply a URL such as http://loopback@evil.com that will be accepted as secure even though the request goes to a non‑loopback external host. The flaw permits cleartext HTTP URLs to be invoked for OIDC RP‑Initiated Logout registration, authorization‑server metadata validation, or similar flows, but it does not allow forging tokens or authenticating users. The result is a transport security bypass that could expose sensitive data or redirect clients to malicious sites without TLS protection.

Affected Systems

Python developers who are using Authlib versions 0.13 through 1.7.x are vulnerable because those releases rely on a textual prefix comparison in is_secure_transport(). The fix was introduced in Authlib 1.8.0, which replaces the insecure logic with a proper host comparison. Versions earlier than 0.13 have not been documented as affected where the behavior may differ, so the scope is limited to 0.13‑1.7.x.

Risk and Exploitability

The CVSS score of 2.6 indicates a low overall severity, and no EPSS rating is available while the vulnerability is not listed in the CISA KEV catalog. Attackers can exploit the flaw by supplying a malicious URL containing a loopback‑host prefix in its userinfo component to any OIDC RP‑Initiated Logout registration or authorization‑server metadata validation endpoint that uses Authlib’s transport‑security check. The attack does not provide code execution or direct credential theft, but it can result in cleartext transmission of data or redirecting users to non‑TLS sites, thereby compromising confidentiality.

Generated by OpenCVE AI on October 23, 2026 at 03:43 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Authlib to version 1.8.0 or newer to apply the documented fix.
  • Enforce HTTPS for all redirect and endpoint URLs in your authentication flow so that even if Authlib accepts a cleartext URL the request will be blocked.
  • Audit and monitor OIDC dynamic client registration and authorization‑server metadata logs for HTTP URLs originating from untrusted sources and investigate any suspicious activity.

Generated by OpenCVE AI on October 23, 2026 at 03:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 03:45:00 +0000

Type Values Removed Values Added
First Time appeared Authlib
Authlib authlib
Vendors & Products Authlib
Authlib authlib

Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
Description Authlib is a Python library which builds OAuth and OpenID Connect servers. From 0.13 until 1.8.0, authlib.common.security.is_secure_transport() uses a textual prefix comparison for loopback HTTP exemptions, so a URL whose userinfo begins with a loopback host can be accepted even when its parsed host is an external non-loopback system. An external party able to supply a URL to OIDC RP-Initiated Logout registration, authorization-server metadata validation, or another call site can bypass the TLS-required guard and cause cleartext redirection or acceptance of cleartext endpoints. The issue does not bypass redirect URI exact matching and does not by itself forge tokens or authenticate users. The vulnerable authlib.common.security.is_secure_transport() implementation in authlib/common/security.py misinterprets the userinfo component before OIDC RP-Initiated Logout dynamic client registration and other consumers enforce transport security. This issue is fixed in version 1.8.0.
Title Authlib: is_secure_transport() loopback exemption can be bypassed with a userinfo component, allowing cleartext-HTTP URLs to non-loopback hosts
Weaknesses CWE-601
CWE-693
References
Metrics cvssV3_1

{'score': 2.6, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-22T21:00:14.354Z

Reserved: 2026-10-21T20:34:25.599Z

Link: CVE-2026-114614

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-22T21:17:16.683

Modified: 2026-10-22T21:17:16.683

Link: CVE-2026-114614

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T03:45:16Z

Weaknesses
  • CWE-601

    URL Redirection to Untrusted Site ('Open Redirect')

  • CWE-693

    Protection Mechanism Failure