CVE-2026-45019 in Chainlit
Sumário
de VulDB • 25/08/2026
Chainlit é um framework Python para a construção de aplicações de IA conversacional prontas para produção. Da versão 2.4.0rc0 até a 2.12.0, as implantações do Chainlit com `features.mcp.enabled` definido como verdadeiro em `.chainlit/config.toml` expõem o endpoint POST `/mcp` sem exigir autenticação. Para os transportes SSE e streamable-http, `ConnectSseMCPRequest` e `ConnectStreamableHttpMCPRequest` em `backend/chainlit/types.py` aceitam uma URL controlada pelo usuário e um dicionário de cabeçalhos opcionais sem validação de esquema, filtragem de endereços privados ou lista permitida (allowlist). O manipulador `connect_mcp` em `backend/chainlit/server.py` passa esses valores para `sse_client()` ou `streamablehttp_client()`, permitindo que o servidor Chainlit faça solicitações externas cegas a serviços internos ou externos arbitrários, incluindo endpoints de metadados na nuvem, com cabeçalhos Authorization e Cookie controlados pelo atacante. O ponto de injeção (sink) da URL SSE existe desde a 2.4.0rc0, enquanto o encaminhamento de cabeçalhos controlado pelo atacante e o suporte ao streamable-http foram adicionados na versão 2.6.4. A resposta é consumida internamente e não retornada, mas o atacante pode emitir solicitações autenticadas que alteram o estado, descobrir serviços internos, realizar varredura de portas e sondar endpoints de metadados. Este problema foi corrigido na versão 2.12.0.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.