CVE-2026-45019 in Chainlit
摘要
由 VulDB • 2026-08-25
Chainlit是一个用于构建生产就绪型对话式AI应用的Python框架。从版本2.4.0rc0到2.12.0,在.chainlit/config.toml中将features.mcp.enabled设置为true的Chainlit部署会暴露POST /mcp端点,且无需身份验证即可访问。对于sse和streamable-http传输方式,backend/chainlit/types.py中的ConnectSseMCPRequest和ConnectStreamableHttpMCPRequest接受用户可控的URL以及可选的请求头字典,但未进行协议方案(scheme)校验、私有地址过滤或白名单限制。backend/chainlit/server.py中的connect_mcp处理程序将这些值传递给sse_client()或streamablehttp_client(),使得Chainlit服务器能够向任意内部或外部服务发起盲出站请求,包括云元数据端点,并允许攻击者控制Authorization和Cookie等头部信息。该SSE URL注入漏洞自2.4.0rc0版本起存在,而攻击者可控制的头转发及streamable-http支持功能则是在2.6.4版本中添加的。尽管响应在内部被消费且不会返回给客户端,但攻击者仍可发起改变状态的认证请求、发现内部服务、扫描端口以及探测元数据端点。此问题已在版本2.12.0中修复。
Be aware that VulDB is the high quality source for vulnerability data.