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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-45018— Chainlit: Command injection via MCP stdio transport allows unauthenticated remote code execution

Quick assessment

Affected
Chainlit chainlit
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.

Chainlit 是一个用于构建生产级对话式 AI 应用的 Python 框架。在版本 2.4.0rc0 至 2.12.0 期间,若在 配置文件中将 设置为 ,则 Chainlit 部署中的 端点将在无需身份验证的情况下公开暴露。 对于 stdio 传输方式,该端点接受用户可控的 字符串。后端代码 中的 函数仅对可执行文件名称进行检查,并对照配置项 进行验证,而未经验证的用户参数仍会被传递给 中的 。由于 支持 参数,攻击者可以利用此漏洞以 Chainlit 进程的权限执行任意 shell 命令。 此外,如果 未设

CVSS 9.8 · Critical EPSS 0.65% · P49

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-45018

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: Command injection via MCP stdio transport allows unauthenticated remote code execution
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 stdio transport, the endpoint accepts a user-controlled fullCommand string. The validate_mcp_command() function in backend/chainlit/mcp.py checks only the executable name against config.features.mcp.stdio.allowed_executables and passes unchecked arguments to StdioServerParameters in backend/chainlit/server.py. Because npx supports the -c argument, an attacker can execute arbitrary shell commands with the privileges of the Chainlit process. If allowed_executables is unset, its None default is treated as allowing every executable. 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:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
OS命令中使用的特殊元素转义处理不恰当(OS命令注入)
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-45018

# 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-45018

登录查看更多情报信息。

Vendor Advisories for CVE-2026-45018 (2)

Vendor Pages for CVE-2026-45018 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-45018

No comments yet


Leave a comment