CVE-2026-55523: PraisonAI: SSRF via redirect bypass in web_crawl()
GHSA-8hjw-25cg-g52h HIGH PoC AVAILABLE CISA: TRACK*PraisonAI's web_crawl() tool, used by agents to fetch and summarize web content, blocks direct requests to loopback and private-network addresses but fails to revalidate the destination after an HTTP redirect, letting an attacker-controlled public URL redirect the underlying httpx client to internal services or cloud metadata endpoints like 169.254.169.254. This is the second bypass of the same flaw (following GHSA-qq9r-63f6-v542 / CVE-2026-40160), which signals the mitigation approach itself — URL-only validation — is structurally insufficient. A working PoC is public and CISA's SSVC assessment tracks it as TRACK_STAR, though EPSS puts real-world exploitation likelihood very low (0.34%, still in the top 73% percentile of scored CVEs) and it is not in CISA KEV, so this is not an emergency but a real gap for anyone running PraisonAI agents with internet-facing crawl capability, especially in cloud environments where a leaked IMDS response can hand over instance credentials. Upgrade to praisonaiagents 1.6.58 immediately, and don't rely on application-level allow-lists alone — enforce network-level egress controls (block RFC1918/link-local ranges, require IMDSv2 with a hop limit of 1) so a future bypass of the app-layer guard doesn't matter.
What is the risk?
Moderate risk despite the absence of a CVSS score: this is a two-time bypass of an SSRF guard (CVE-2026-40160 and now this issue) that shows app-level URL validation alone is not a durable defensive layer for network-fetching agent tools. Public PoC exploit code exists, but EPSS scores exploitation probability as very low (0.34%) and the CVE is not in CISA KEV, keeping real-world attacker interest low for now. Exposure scales with how web_crawl() is wired into an agent pipeline — if the crawled URL (or a redirect target it might visit) can be influenced by untrusted input (user-supplied links, scraped web content, prompt injection), an attacker gets a foothold to probe internal networks and cloud metadata services from the host running the agent.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| PraisonAI Agents | pip | >= 1.5.128, < 1.6.58 | 1.6.58 |
Do you use PraisonAI Agents? You're affected.
How severe is it?
What should I do?
1 step-
Upgrade praisonaiagents to >=1.6.58, where the redirect target is revalidated against the same loopback/private-network blocklist as the original URL. If immediate upgrade isn't possible, disable or wrap the web_crawl tool to strip redirect-following (follow_redirects=False) or validate the resolved IP of every hop, not just the initial URL. Regardless of patch status, apply defense-in-depth at the network layer: run agent workloads in an egress-restricted network/container that blocks outbound traffic to RFC1918 ranges and 169.254.169.254, and require IMDSv2 with a hop-limit of 1 on any cloud instance running these agents so a successful SSRF can't retrieve credentials. For detection, monitor outbound connections from agent hosts to internal IP ranges or metadata IPs, and flag web_crawl() calls whose target URL redirects to a different host/IP than initially requested.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-55523?
PraisonAI's web_crawl() tool, used by agents to fetch and summarize web content, blocks direct requests to loopback and private-network addresses but fails to revalidate the destination after an HTTP redirect, letting an attacker-controlled public URL redirect the underlying httpx client to internal services or cloud metadata endpoints like 169.254.169.254. This is the second bypass of the same flaw (following GHSA-qq9r-63f6-v542 / CVE-2026-40160), which signals the mitigation approach itself — URL-only validation — is structurally insufficient. A working PoC is public and CISA's SSVC assessment tracks it as TRACK_STAR, though EPSS puts real-world exploitation likelihood very low (0.34%, still in the top 73% percentile of scored CVEs) and it is not in CISA KEV, so this is not an emergency but a real gap for anyone running PraisonAI agents with internet-facing crawl capability, especially in cloud environments where a leaked IMDS response can hand over instance credentials. Upgrade to praisonaiagents 1.6.58 immediately, and don't rely on application-level allow-lists alone — enforce network-level egress controls (block RFC1918/link-local ranges, require IMDSv2 with a hop limit of 1) so a future bypass of the app-layer guard doesn't matter.
Is CVE-2026-55523 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-55523, increasing the risk of exploitation.
How to fix CVE-2026-55523?
Upgrade praisonaiagents to >=1.6.58, where the redirect target is revalidated against the same loopback/private-network blocklist as the original URL. If immediate upgrade isn't possible, disable or wrap the web_crawl tool to strip redirect-following (follow_redirects=False) or validate the resolved IP of every hop, not just the initial URL. Regardless of patch status, apply defense-in-depth at the network layer: run agent workloads in an egress-restricted network/container that blocks outbound traffic to RFC1918 ranges and 169.254.169.254, and require IMDSv2 with a hop-limit of 1 on any cloud instance running these agents so a successful SSRF can't retrieve credentials. For detection, monitor outbound connections from agent hosts to internal IP ranges or metadata IPs, and flag web_crawl() calls whose target URL redirects to a different host/IP than initially requested.
What systems are affected by CVE-2026-55523?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, web-browsing/crawling agent tools, RAG pipelines, multi-agent orchestration.
What is the CVSS score for CVE-2026-55523?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049 Exploit Public-Facing Application AML.T0053 AI Agent Tool Invocation AML.T0086 Exfiltration via AI Agent Tool Invocation Compliance Controls Affected
What are the technical details?
Original Advisory
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.
Exploitation Scenario
An attacker sets up a public web page they control and gets its URL passed to web_crawl() — either directly, if the agent exposes crawling as a callable action to external users, or indirectly, by getting the URL embedded in content an autonomous agent is told to research (a document, a search result, or a prompt-injected instruction). The URL itself resolves to a public, non-private IP, so it sails through PraisonAI's initial host check. When the httpx client fetches it, the attacker's server responds with a redirect to http://169.254.169.254/latest/meta-data/iam/security-credentials/<role> (or an internal admin endpoint); because follow_redirects=True and the redirect target is never re-checked, the client follows it and returns the metadata/credentials response body as the tool's crawl result. That data now sits in the agent's working context, where it can be echoed back to the attacker through the agent's own output, stored in logs or a downstream artifact, or used by the agent as if it were legitimate crawled content.
Weaknesses (CWE)
CWE-918 Server-Side Request Forgery (SSRF)
Primary
CWE-918 Server-Side Request Forgery (SSRF)
Primary
CWE-918 Server-Side Request Forgery (SSRF) CWE-918 — Server-Side Request Forgery (SSRF): The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
Source: MITRE CWE corpus.
References
Timeline
Related Vulnerabilities
CVE-2026-34938 10.0 praisonaiagents: sandbox bypass enables full host RCE
Same package: praisonaiagents CVE-2026-39888 10.0 praisonaiagents: sandbox escape enables host RCE
Same package: praisonaiagents CVE-2026-47392 9.9 praisonaiagents: RCE via Python sandbox bypass
Same package: praisonaiagents GHSA-vc46-vw85-3wvm 9.8 PraisonAI: RCE via malicious workflow YAML execution
Same package: praisonaiagents CVE-2026-47391 9.8 PraisonAI: Unauth RCE via A2A eval injection
Same package: praisonaiagents