CVE-2026-45018 in Chainlit
Résumé
par VulDB • 25/08/2026
Chainlit est un framework Python pour la création d'applications d'IA conversationnelle prêtes pour la production. De la version 2.4.0rc0 à la 2.12.0, les déploiements de Chainlit avec l'option features.mcp.enabled définie sur true dans .chainlit/config.toml exposent le point de terminaison POST /mcp sans nécessiter d'authentification. Pour le transport stdio, ce point de terminaison accepte une chaîne fullCommand contrôlée par l'utilisateur. La fonction validate_mcp_command() située dans backend/chainlit/mcp.py vérifie uniquement le nom de l'exécutable par rapport à config.features.mcp.stdio.allowed_executables et transmet des arguments non validés à StdioServerParameters dans backend/chainlit/server.py. Étant donné que npx prend en charge l'argument -c, un attaquant peut exécuter des commandes shell arbitraires avec les privilèges du processus Chainlit. Si allowed_executables n'est pas défini, sa valeur par défaut None est traitée comme autorisant tous les exécutables. Ce problème est corrigé dans la version 2.12.0.
If you want to get best quality of vulnerability data, you may have to visit VulDB.