PraisonAI recipe registry publish path traversal allows out-of-root file write
PraisonAI is a multi-agent teams system. Prior to 1.5.113, PraisonAI's recipe registry publish endpoint writes uploaded recipe bundles to a filesystem path derived from the bundle's internal manifest.json before it verifies that the manifest name and version match the HTTP route. A malicious publisher can place ../ traversal sequences in the bundle manifest and cause the registry server to create files outside the configured registry root even though the request is ultimately rejected with HTTP 400. This is an arbitrary file write / path traversal issue on the registry host. It affects deployments that expose the recipe registry publish flow. If the registry is intentionally run without a token, any network client that can reach the service can trigger it. If a token is configured, any user with publish access can still exploit it. This vulnerability is fixed in 1.5.113.
- Опубликовано
- 7 апр. 2026 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 0,5 % · 37-й процентиль
- CWE
- CWE-22
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
28
Наблюдать
Пока низкий приоритет.
- CVSS
- 28 / 40 · 7.1 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,5 %
Решение CISA SSVC
- Эксплуатация
- proof of concept
- Автоматизируемо
- нет
- Техническое влияние
- частичное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · GitHub_M
- 7,1
- NVD ещё не выставил свою оценку; показана оценка CNA.
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для сотен тысяч уязвимостей в базе; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЗатронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| praison | praisonai | cpe:2.3:a:praison:praisonai |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- praison praisonaiдо 4.5.112 включительно
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.
MervinPraison PraisonAI
- < 4.5.113затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| PyPI | praisonai | до 4.5.113 | 4.5.113 |
Тот же продукт
praison: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2026-40114PraisonAI has Server-Side Request Forgery via Unvalidated webhook_url in Jobs API40В плане
- CVE-2026-39305Arbitrary File Write / Path Traversal in Action Orchestrator40В плане
- CVE-2026-34955PraisonAI: Sandbox Escape via shell=True and Bypassable Blocklist in SubprocessSandbox40В плане
- CVE-2026-41497Incomplete fix for CVE-2026-34935: Command Injection in MervinPraison/PraisonAI39Наблюдать
- CVE-2026-40288PraisonAI: Critical RCE via `type: job` workflow YAML39Наблюдать
- CVE-2026-39890PraisonAI Affected by Remote Code Execution via YAML Deserialization in Agent Definition Loading39Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| MervinPraison PraisonAI | 1.5.113 · description | Вендор (CNA) |
| PyPI:praisonai | 4.5.113 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
- CVE-2026-39305с разницей 0 дн.Arbitrary File Write / Path Traversal in Action Orchestrator40В плане
- CVE-2026-40157с разницей 3 дн.PraisonAI affected by arbitrary file write via path traversal in `praisonai recipe unpack`37Наблюдать
- CVE-2026-35615с разницей 0 дн.PraisonAI has a Path Traversal in FileTools36Наблюдать
- CVE-2026-44340с разницей 31 дн.PraisonAI: Symlink-extraction bypass of `_safe_extractall` writes outside `dest_dir`34Наблюдать
- CVE-2026-39307с разницей 0 дн.PraisonAI has an Arbitrary File Write (Zip Slip) in Templates Extraction32Наблюдать
- CVE-2026-39306с разницей 0 дн.PraisonAI recipe registry pull path traversal writes files outside the chosen output directory29Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
- CVE-2026-34953с разницей 4 дн.PraisonAI: Authentication Bypass in OAuthManager.validate_token()36Наблюдать
- CVE-2026-34952с разницей 4 дн.PraisonAI: Missing Authentication in WebSocket Gateway36Наблюдать
- CVE-2026-40289с разницей 7 дн.PraisonAI Browser Server allows unauthenticated WebSocket clients to hijack connected extension sessions36Наблюдать
- CVE-2026-39889с разницей 1 дн.PraisonAI has Unauthenticated SSE Event Stream Exposes All Agent Activity in A2U Server30Наблюдать
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- низкое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Высокое
- Влияние на доступность
- Низкое
Класс уязвимости (CWE)
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
nvd-secondary
Первопричина
Имя файла, переданное пользователем, объединяется с разрешённым каталогом, но не проверяется, остаётся ли результат внутри этого каталога.
Ошибка в коде
Весь класс CWE-22Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
const file = path.join(ROOT, req.query.name);res.sendFile(file);Исправленный код
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) { return res.sendStatus(400);}res.sendFile(file);Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- Path TraversalCAPEC-126вероятность: High · Very High
- Using Slashes and URL Encoding Combined to Bypass Validation LogicCAPEC-64вероятность: High · High
- Manipulating Web Input to File System CallsCAPEC-76вероятность: High · Very High
- Using Escaped Slashes in Alternate EncodingCAPEC-78вероятность: High · High
- Using Slashes in Alternate EncodingCAPEC-79вероятность: High · High
Техники ATT&CK
—
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →