Chatbots, die auf Large‑Language‑Models (LLMs) basieren, sind mittlerweile ein fester Bestandteil des Arbeitsalltags vieler Unternehmen. Sie werfen jedoch ein Problem auf: Wie können Mitarbeitende datenschutzbewusst LLM-Systeme nutzen?
Viele Unternehmen setzen auf LibreChat, eine mit rund 33.000 GitHub‑Sternen beliebte Open‑Source‑Plattform, die verschiedene (auch selbst‑gehostete) Sprachmodelle über eine einheitliche Oberfläche verfügbar macht.
Bei einem Penetrationstest einer auf LibreChat basierenden Anwendung haben wir eine Sicherheitslücke in LibreChat entdeckt, die seit über 2 Jahren unentdeckt blieb. Sie gibt Unbefugten uneingeschränkten Lesezugriff auf Konversationen und birgt somit konkrete Risiken für Datenschutz, Compliance und die Vertraulichkeit sensibler Daten.
LibreChat wird häufig in Unternehmen eingesetzt, um Mitarbeitenden eine KI-basierte Chatplattform mit datenschutzkonformer Infrastruktur anzubieten. Dabei entstehen oft Chats mit:
Die Schwachstelle sorgt für:
Die Schwachstelle liegt im Test-Endpoint /api/search/test, welcher in der Standardkonfiguration von LibreChat offen und unzureichend gesichert vorliegt. Mittels einer einfachen GET-Anfrage können Angreifende alle Chatdaten abrufen, unabhängig davon, ob sie selbst den Chat erstellt haben. Ein Filterparameter (q=...) ermöglicht sogar gezieltes Suchen nach Begriffen wie „password“ oder „secret“.
GET /api/search/test?q=secrets
Host: <Host>
Authorization: Bearer <Token>
[
{
"_id": "<Redacted>",
"text": "==I will tell you some <em>secrets</em> now: Parrots are my favorite animal!==",
"conversationId": "<redacted>",
"searchResult": true
}
]
Der direkte Fix ist bereits in Versionen >= v0.7.8 verfügbar: Unternehmen sollten unbedingt die Version upgraden, da der relevante Commit den unzureichend gesicherten Endpunkt entfernt.
Systeme, welche nicht sofort aktualisiert werden können, sollten mittels manueller Sperrung des Endpunkts über eine Reverse-Proxy-Konfiguration oder eine Web Application Firewall (WAF) den Endpunkt deaktivieren.
Die Sicherheitslücke lässt sich durch eine gezielte Analyse der Systemlogs identifizieren. Da der Endpoint /api/search/test nicht durch die reguläre Verwendung von LibreChat aufgerufen wird, handelt es sich bei jedem Zugriff auf diesen Endpunkt um ein außergewöhnliches Ereignis, welches Aufmerksamkeit erfordert.
Zwar ist der Patch bereits zu dem Zeitpunkt der Meldung an LibreChat verfügbar, doch die Lücke wurde still und ohne Transparenz behoben. Die Release-Note erwähnte lediglich „simplify logic in search/enable endpoint“ (Commit: 0e8041b).
Mittels der Veröffentlichung als CVE wird die Sicherheitsrelevanz klar kommuniziert. Hierdurch können Unternehmen die Lücke priorisieren und prüfen, ob sie betroffen sind.
Haben Sie Fragen oder benötigen Unterstützung?
Wir als iteratec legen hohen Wert auf Security. Mit Expertise wie Application Pentesting unterstützen wir Unternehmen dabei, Lücken systematisch zu finden, zu priorisieren und zu beheben. Unsere Reports enthalten nicht nur reproduzierbare Schritt-für-Schritt-Analysen, sondern auch konkrete Empfehlungen, wie Entwicklerteams die Sicherheit ihrer Applikationen nachhaltig verbessern können.