VU#949137: Langchaingo поддерж... Заметка

VU#949137: Langchaingo поддерживает jinja2 и gonja для разбора синтаксиса, позволяя произвольное чтение файлов

LangChainGo, реализация фреймворка LLM LangChain на Go, имеет критическую уязвимость произвольного чтения файлов. Эта уязвимость, идентифицированная как CVE-2025-9556, вызвана использованием движка шаблонов Gonja, который поддерживает синтаксис Jinja2. Злоумышленники могут использовать это, внедряя вредоносный контент в запросы, вызывая инъекцию шаблонов на стороне сервера. Возможность движка Gonja включать внешние файлы с помощью директив, таких как {% include %}, позволяет злоумышленникам читать конфиденциальные файлы. Это может привести к раскрытию таких данных, как /etc/password, нарушая конфиденциальность системы. В приложениях чат-ботов, созданных с помощью LangChainGo, злоумышленникам для эксплуатации этой уязвимости достаточно доступа к запросам. Уязвимость позволяет несанкционированный доступ к конфиденциальной информации, хранящейся на сервере жертвы. Это раскрытие может способствовать дальнейшему компрометации системы. К счастью, сопровождающий LangChainGo выпустил обновление, устраняющее эту проблему. Новая версия включает безопасную функцию RenderTemplateFS, которая по умолчанию блокирует доступ к файловой системе. Пользователям настоятельно рекомендуется обновиться до последней версии, чтобы устранить этот риск безопасности.