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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-45019— Chainlit: SSRF via MCP SSE and streamable-http transports allows unauthenticated internal network access

Quick assessment

Affected
Chainlit chainlit
Exploitation
Public or AI PoC available; prioritize validation
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Chainlit 是一个用于构建生产级对话式 AI 应用的 Python 框架。在版本 2.4.0rc0 至 2.12.0 之间,如果用户在 配置文件中将 设置为 ,则部署中的 POST /mcp 端点将在无需身份验证的情况下暴露。 对于 SSE(Server-Sent Events)和可流式传输 HTTP(streamable-http)传输方式, 中的 和 类型接受由用户控制的 URL 和可选的 HTTP 头字典,但未进行协议方案(scheme)验证、私有地址过滤或白名单检查。 中的 处理程序将这些未经验证的用

CVSS 7.2 · High EPSS 0.32% · P24

Affected Version Matrix 1

VendorProduct Version RangeStatus
Chainlit chainlit >= 2.4.0rc0, < 2.12.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-45019

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
Chainlit: SSRF via MCP SSE and streamable-http transports allows unauthenticated internal network access
Source: CVE Program / CVE List V5
Vulnerability Description
Chainlit is a Python framework for building production-ready conversational AI applications. From 2.4.0rc0 until 2.12.0, Chainlit deployments with features.mcp.enabled set to true in .chainlit/config.toml expose the POST /mcp endpoint without requiring authentication. For sse and streamable-http transports, ConnectSseMCPRequest and ConnectStreamableHttpMCPRequest in backend/chainlit/types.py accept a user-controlled url and optional headers dictionary without scheme validation, private-address filtering, or an allowlist. The connect_mcp handler in backend/chainlit/server.py passes these values to sse_client() or streamablehttp_client(), allowing the Chainlit server to make blind outbound requests to arbitrary internal or external services, including cloud metadata endpoints, with attacker-controlled Authorization and Cookie headers. The SSE URL sink has existed since 2.4.0rc0, while attacker-controlled header forwarding and streamable-http support were added in 2.6.4. The response is consumed internally and not returned, but the attacker can issue state-changing authenticated requests, discover internal services, scan ports, and probe metadata endpoints. This issue is fixed in version 2.12.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/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
Chainlit chainlit >= 2.4.0rc0, < 2.12.0 -

II. Public POCs for CVE-2026-45019

# POC Description Source Link Shenlong Link
AI-Generated POC Premium
Qwen3.6-35B-A3B · 11558 chars
Pro+ exclusive includes:
Vulnerability reproduction recording (real sandbox build + trigger, exclusive)
In-depth vulnerability mechanism
Trigger conditions & impact
Full executable POC code
Exploit chain & mitigation
POC zip download
100+ AI POC generations per month

III. Intelligence Information for CVE-2026-45019

登录查看更多情报信息。

Vendor Advisories for CVE-2026-45019 (2)

Vendor Pages for CVE-2026-45019 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-45019

No comments yet


Leave a comment