VU#949137 : Langchaingo prend ... Note

VU#949137 : Langchaingo prend en charge jinja2 et gonja pour l'analyse syntaxique, permettant la lecture de fichiers arbitraires

LangChainGo, une implémentation en Go du framework LLM LangChain, présente une vulnérabilité critique de lecture de fichiers arbitraires. Cette vulnérabilité, identifiée comme CVE-2025-9556, découle de son utilisation du moteur de templates Gonja, qui prend en charge la syntaxe Jinja2. Les attaquants peuvent l'exploiter en injectant du contenu malveillant dans les prompts, déclenchant ainsi une injection de template côté serveur. La capacité du moteur Gonja à inclure des fichiers externes via des directives telles que {% include %} permet aux attaquants de lire des fichiers sensibles. Cela pourrait exposer des données telles que /etc/password, compromettant la confidentialité du système. Dans les applications de chatbot construites avec LangChainGo, les attaquants n'ont besoin que d'un accès aux prompts pour exploiter cette faille. La vulnérabilité permet un accès non autorisé à des informations sensibles stockées sur le serveur de la victime. Cette exposition peut faciliter une compromission ultérieure du système. Heureusement, le mainteneur de LangChainGo a publié une mise à jour corrigeant ce problème. La nouvelle version inclut une fonction RenderTemplateFS sécurisée qui bloque l'accès au système de fichiers par défaut. Il est fortement recommandé aux utilisateurs de mettre à jour vers la dernière version pour atténuer ce risque de sécurité.