CVE-2026-57126
—DNS-Resolution SSRF Bypass in PraisonAI praisonaiagents before 1.6.58
PraisonAI's praisonaiagents library (before version 1.6.58) contains a server-side request forgery (SSRF) bypass in SpiderTools: the _host_is_blocked check inspects only literal host encodings and never resolves DNS names before the agent fetches a URL. An attacker with the ability to supply a URL or link to the agent (via scrape_page, crawl, extract_links, extract_text, or URL-mention fetches) can register a hostname that resolves to a loopback, private, link-local, or cloud-metadata address, bypassing the SSRF policy without needing a DNS-rebinding race. The internal response is then returned to the agent, potentially leaking cloud instance metadata credentials or internal service data (CVSS 8.5, high confidentiality impact). Anyone running praisonaiagents prior to 1.6.58, especially agents that ingest untrusted web content or user-supplied URLs, is affected. The issue is fixed in 1.6.58, and no public proof of concept or exploitation in the wild is known.
What to do: Upgrade praisonaiagents to version 1.6.58 or later immediately (e.g., pip install --upgrade praisonaiagents), and rebuild any deployments or containers that pin older versions. As interim mitigations, block agent egress to RFC1918 ranges, loopback, link-local, and the cloud-metadata endpoint (169.254.169.254) at the network layer, and restrict which users or content sources can submit URLs to the agent. Review logs for past fetches of suspicious attacker-influenced hostnames that resolved to internal addresses, since responses may already have been exposed to the agent's context.
| praisonaiagents | all versions prior to 1.6.58 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
PraisonAI is a multi-agent teams system. Prior to praisonaiagents 1.6.58, SpiderTools._validate_url calls _host_is_blocked, which checks literal host encodings but does not resolve DNS names before scrape_page, crawl, extract_links, extract_text, or URL-mention fetches connect. An attacker-controlled hostname resolving to a loopback, private, link-local, or cloud-metadata address therefore bypasses the SSRF policy without a rebinding race and can expose internal responses to the agent. This issue is fixed in praisonaiagents 1.6.58.
- Weakness
- CWE-918
- Vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
In the news0 stories
No ingested article mentions this CVE yet.