PraisonAI — это система мультиагентных команд. В версиях с 1.5.128 по 1.6.57 функция praisonaiagents.tools.web_crawl_tools.web_crawl() уязвима для подделки запросов на стороне сервера. Хотя он проверяет первоначально предоставленный URL-адрес и блокирует прямую обратную связь и частные адресаты, его резервный вариант httpx по умолчанию использует httpx.Client(follow_redirects=True) и не выполняет повторную проверку промежуточных или конечных целей перенаправления.
Злоумышленник, который может повлиять на URL-адрес, передаваемый в web_crawl(), напрямую или через рабочий процесс агента или инструмента, может предоставить контролируемый злоумышленником общедоступный URL-адрес, который проходит первоначальную проверку хоста, а затем перенаправляется на конечные точки метаданных замыкания на себя, частной сети или облака, доступные с хоста, с перенаправленным телом ответа, возвращаемым в результате web_crawl(). Это представляет собой неполный обход исправления и исправления для ранее раскрытого класса SSRF web_crawl (GHSA-qq9r-63f6-v542 / CVE-2026-40160 и GHSA-8f4v-xfm9-3244), поскольку защита проверяет только запрошенный URL-адрес, а не пункт назначения, фактически полученный после перенаправления. Эта проблема исправлена в версии 1.6.58.
Показать оригинальное описание (EN)
PraisonAI is a multi-agent teams system. In versions 1.5.128 through 1.6.57, the praisonaiagents.tools.web_crawl_tools.web_crawl() function is vulnerable to server-side request forgery. While it validates the initially supplied URL and blocks direct loopback and private destinations, its default httpx fallback uses httpx.Client(follow_redirects=True) and does not revalidate intermediate or final redirect targets. An attacker who can influence a URL passed to web_crawl(), directly or through an agent or tool workflow, can supply an attacker-controlled public URL that passes the initial host check and then redirects to loopback, private-network, or cloud metadata endpoints reachable from the host, with the redirected response body returned in the web_crawl() result. This constitutes an incomplete fix and patch bypass for the previously disclosed web_crawl SSRF class (GHSA-qq9r-63f6-v542 / CVE-2026-40160 and GHSA-8f4v-xfm9-3244), since the guard validates only the requested URL and not the destination actually fetched after redirection. This issue has been fixed in version 1.6.58.
Характеристики атаки
Последствия
Строка CVSS v4.0