RAGFlow — это движок RAG (Retrival-Augmented Generation) с открытым исходным кодом. В версиях до 0.23.0 аутентифицированный пользователь с низким уровнем привилегий (обычная учетная запись для входа) может выполнять произвольные системные команды в процессе хоста сервера через интерфейсный компонент Canvas CodeExec, полностью минуя изоляцию песочницы. Это происходит потому, что ненадежные данные (stdout) анализируются с помощью eval() без фильтрации или изолированной программной среды.
Предполагаемый дизайн заключался в «автоматическом преобразовании строковых результатов в объекты Python», но при этом эффективно выполнялся код, контролируемый злоумышленником. Дополнительные конечные точки не имеют контроля доступа или содержат инвертированную логику разрешений, что значительно расширяет поверхность атаки и позволяет использовать цепную эксплуатацию. Версия 0.23.0 содержит исправление этой проблемы.
Показать оригинальное описание (EN)
RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine. In versions prior to 0.23.0, a low-privileged authenticated user (normal login account) can execute arbitrary system commands on the server host process via the frontend Canvas CodeExec component, completely bypassing sandbox isolation. This occurs because untrusted data (stdout) is parsed using eval() with no filtering or sandboxing. The intended design was to "automatically convert string results into Python objects," but this effectively executes attacker-controlled code. Additional endpoints lack access control or contain inverted permission logic, significantly expanding the attack surface and enabling chained exploitation. Version 0.23.0 contains a patch for the issue.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Infiniflow Ragflow
cpe:2.3:a:infiniflow:ragflow:*:*:*:*:*:*:*:*
|
— |
0.23.0
|