Giskard — это библиотека Python с открытым исходным кодом для тестирования и оценки агентных систем. До версий 0.3.4 и 1.0.2b1 ChatWorkflow.chat(message) передает свой строковый аргумент непосредственно в качестве источника шаблона Jinja2 в среду, не изолированную от изолированной программной среды. Разработчик, который передает пользовательский ввод в этот метод, обеспечивает полное удаленное выполнение кода посредством обхода классов Jinja2.
Чат с именем метода и сообщение с именем параметра естественным образом предлагают передать пользовательский ввод напрямую, но строка автоматически анализируется как шаблон Jinja2, а не обрабатывается как обычный текст. Эта проблема исправлена в версиях 0.3.4 и 1.0.2b1.
Показать оригинальное описание (EN)
Giskard is an open-source Python library for testing and evaluating agentic systems. Prior to versions 0.3.4 and 1.0.2b1, ChatWorkflow.chat(message) passes its string argument directly as a Jinja2 template source to a non-sandboxed Environment. A developer who passes user input to this method enables full remote code execution via Jinja2 class traversal. The method name chat and parameter name message naturally invite passing user input directly, but the string is silently parsed as a Jinja2 template, not treated as plain text. This issue has been patched in versions 0.3.4 and 1.0.2b1.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Giskard Giskard-Agent
cpe:2.3:a:giskard:giskard-agent:*:*:*:*:*:python:*:*
|
— |
0.3.4
|
|
Giskard Giskard-Agent
cpe:2.3:a:giskard:giskard-agent:1.0.2:alpha1:*:*:*:python:*:*
|
— | — |
|
Giskard Giskard-Agents
cpe:2.3:a:giskard:giskard-agents:1.0.1:alpha1:*:*:*:python:*:*
|
— | — |