VU#949137: Langchaingo unterstützt jinja2 und gonja für die Syntaxanalyse, was das beliebige Lesen von Dateien ermöglicht
LangChainGo, eine Go-Implementierung des LLM-Frameworks LangChain, weist eine kritische Schwachstelle für das Lesen beliebiger Dateien auf. Diese Schwachstelle, identifiziert als CVE-2025-9556, ergibt sich aus der Verwendung der Gonja-Template-Engine, die die Jinja2-Syntax unterstützt. Angreifer können dies ausnutzen, indem sie bösartige Inhalte in Prompts einschleusen und so eine serverseitige Template-Injection auslösen. Die Fähigkeit der Gonja-Engine, externe Dateien über Direktiven wie {% include %} einzubinden, ermöglicht es Angreifern, sensible Dateien zu lesen. Dies könnte Daten wie /etc/password preisgeben und die Vertraulichkeit des Systems gefährden. In Chatbot-Anwendungen, die mit LangChainGo erstellt wurden, benötigen Angreifer lediglich Zugriff auf die Prompts, um diese Schwachstelle auszunutzen. Die Schwachstelle ermöglicht unbefugten Zugriff auf sensible Informationen, die auf dem Server des Opfers gespeichert sind. Diese Offenlegung kann zu einer weiteren Kompromittierung des Systems führen. Glücklicherweise hat der Maintainer von LangChainGo ein Update veröffentlicht, das dieses Problem behebt. Die neue Version enthält eine sichere RenderTemplateFS-Funktion, die den Dateisystemzugriff standardmäßig blockiert. Benutzern wird dringend empfohlen, auf die neueste Version zu aktualisieren, um dieses Sicherheitsrisiko zu mindern.