SEPTEMBER 17, 2026
Live Feed
Back to database
Case File

CVE-2026-45018

CRITICAL · CVSS 9.8 EPSS 0.65% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-08-25 · Last synced 2026-09-17

CyberRota Analysis

AI-Generated

Chainlit versions 2.4.0rc0 to 2.12.0 are vulnerable due to an unauthenticated POST /mcp endpoint that allows attackers to execute arbitrary shell commands through the user-controlled fullCommand string. This critical vulnerability can lead to remote code execution with the privileges of the Chainlit process, particularly if the allowed_executables setting is not configured. Organizations using Chainlit for conversational AI applications should prioritize upgrading to version 2.12.0 to mitigate this risk.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-45018
Severity
CRITICAL
CVSS
9.8
EPSS
0.65%

Original NVD 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.