Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

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

Quick assessment

Affected
authlib authlib
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Authlib 是一个用于构建 OAuth 和 OpenID Connect 服务器的 Python 库。在 1.9.0 版本之前,Authlib 的 RFC 9101 JWTAuthenticationRequest 实现会在应用目标或注册策略之前,将未经身份验证、由客户端控制的 参数传递给抽象的 钩子函数。该钩子本身并不发起网络请求,但官方文档中展示的示例却演示了无限制的 HTTP 获取操作。 在集成者按照文档示例将 钩子实现为无限制的外向获取逻辑的部署环境中,攻击者若知晓有效的公开客户端标识符,即可诱使授权服

CVSS 5.4 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-114620

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Authlib: Unvalidated request_uri fetch in JWT-secured authorization request (JAR) leading to SSRF
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
服务端请求伪造(SSRF)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
authlib authlib < 1.9.0 -

II. Public POCs for CVE-2026-114620

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-114620

请登录查看更多情报信息。

Other References for CVE-2026-114620 (5)

Same Patch Batch · authlib · 2026-10-22 · 7 CVEs total

CVE-2026-114615 7.4 HIGH Authlib incomplete algorithm-confusion fix permits HMAC forgery with prefixed public keys
CVE-2026-114616 7.4 HIGH Authlib accepts an empty HMAC key, allowing JWS/JWT signature forgery (HS256/HS384/HS512)
CVE-2026-114618 6.8 MEDIUM Authlib: Default JWT bearer grant accepts assertions for the wrong audience
CVE-2026-114619 4.6 MEDIUM Authlib: OpenID implicit grant checks raw scope instead of allowed scope before issuing ID
CVE-2026-114617 4.2 MEDIUM Authlib: ID token can disable its own nonce validation via the nonce_supported claim
CVE-2026-114614 2.6 LOW Authlib: is_secure_transport() loopback exemption can be bypassed with a userinfo componen

IV. Related Vulnerabilities

V. Comments for CVE-2026-114620

No comments yet


Leave a comment