PatchSiren cyber security CVE debrief
CVE-2026-45018 Chainlit CVE debrief
CVE-2026-45018 is a critical vulnerability in Chainlit, a Python framework for building conversational AI applications. The vulnerability affects versions from 2.4.0rc0 to 2.12.0 and allows for arbitrary shell command execution via the POST /mcp endpoint when features.mcp.enabled is set to true in .chainlit/config.toml. This issue is fixed in version 2.12.0.
- Vendor
- Chainlit
- Product
- Unknown
- CVSS
- CRITICAL 9.8
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-08-25
- Original CVE updated
- 2026-09-09
- Advisory published
- 2026-08-25
- Advisory updated
- 2026-09-09
Who should care
Defenders responsible for Chainlit deployments, particularly those with features.mcp.enabled set to true, should assess exposure and apply the fix to prevent arbitrary shell command execution.
Why it matters
CVE-2026-45018 is a critical vulnerability in Chainlit that allows for arbitrary shell command execution, requiring defenders to verify exposure and apply the fix to prevent potential data breaches and system compromise.
- Arbitrary shell command execution with the privileges of the Chainlit process
- Potential for lateral movement and exploitation
- Need for verification of exposure and application of the fix
- Potential for data breaches and system compromise
Technical summary
The vulnerability affects Chainlit versions from 2.4.0rc0 to 2.12.0 and allows for arbitrary shell command execution via the POST /mcp endpoint when features.mcp.enabled is set to true in .chainlit/config.toml. The issue is caused by the validate_mcp_command() function only checking the executable name against config.features.mcp.stdio.allowed_executables and passing unchecked arguments to StdioServerParameters.
Defensive priority
Defenders should prioritize verifying exposure and applying the fix, as the vulnerability allows for arbitrary shell command execution with the privileges of the Chainlit process.
Recommended defensive actions
- Verify if features.mcp.enabled is set to true in .chainlit/config.toml
- Check if the Chainlit version is 2.12.0 or later
- Restrict access to the POST /mcp endpoint
- Implement additional security measures to prevent arbitrary shell command execution
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up.
Evidence notes
The vulnerability is caused by the validate_mcp_command() function in backend/chainlit/mcp.py only checking the executable name against config.features.mcp.stdio.allowed_executables and passing unchecked arguments to StdioServerParameters in backend/chainlit/server.py. The issue is exacerbated by npx supporting the -c argument, allowing for arbitrary shell command execution.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-45018 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-45018
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-45018 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-45018
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/Chainlit/chainlit/blob/2.12.0/docs/security-advisory-2026-mcp.md
-
Source reference
Unverified legacy reference
URL: https://github.com/Chainlit/chainlit/commit/0565fd0eccb915fce159929598b053ed79f6e0c9
-
Source reference
Unverified legacy reference
URL: https://github.com/Chainlit/chainlit/releases/tag/2.12.0
-
Source reference
Unverified legacy reference
URL: https://github.com/Chainlit/chainlit/security/advisories/GHSA-w3fx-mc44-mf6j
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.