CVE-2026-45019 in Chainlit
Zusammenfassung
von VulDB • 25.08.2026
Chainlit ist ein Python-Framework zur Entwicklung von produktionsreifen conversational AI-Anwendungen. Ab der Version 2.4.0rc0 bis einschließlich 2.12.0 exponieren Chainlit-Deployments mit dem Parameter `features.mcp.enabled` auf `true` in `.chainlit/config.toml` den POST-/mcp-Endpunkt ohne Authentifizierungserfordernis. Für die SSE- und streamable-http-Transports akzeptieren `ConnectSseMCPRequest` und `ConnectStreamableHttpMCPRequest` in `backend/chainlit/types.py` eine benutzerkontrollierte URL sowie ein optionales Header-Wörterbuch ohne Schemavalidierung, Filterung privater Adressen oder Whitelist-Prüfung. Der Handler `connect_mcp` in `backend/chainlit/server.py` übergibt diese Werte an `sse_client()` bzw. `streamablehttp_client()`, wodurch der Chainlit-Server blinde ausgehende Anfragen an beliebige interne oder externe Dienste, einschließlich Cloud-Metadata-Endpunkten, mit angreiferkontrollierten Authorization- und Cookie-Headers senden kann. Die SSE-URL-Sink ist seit 2.4.0rc0 vorhanden, während die Weitergabe von angreiferkontrollierten Headern und die Unterstützung für streamable-http in Version 2.6.4 hinzugefügt wurden. Die Antwort wird intern verbraucht und nicht zurückgegeben, doch kann der Angreifer zustandsändernde authentifizierte Anfragen ausführen, interne Dienste entdecken, Ports scannen und Metadata-Endpunkte abfragen. Dieses Problem wurde in Version 2.12.0 behoben.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.