Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker submits attacker-controlled public URL to agent workflow
-
DeliveryURL passes initial host blocklist validation
-
Exploithttpx client fetches URL with follow_redirects=True
-
ExecutionAttacker's server issues 302 redirect to internal/metadata endpoint
-
Persisthttpx fetches redirect destination without revalidation
-
ImpactInternal response body returned to attacker via agent output
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the attacker can influence a URL processed by web_crawl(), either directly through an API or user-facing input that invokes the function, or indirectly via an agent or tool workflow that incorporates attacker-controlled strings into fetched URLs. The attacker must also control a publicly accessible HTTP endpoint capable of issuing a 3xx redirect to the desired internal target. No non-default configuration is required - follow_redirects=True is the default httpx fallback behavior. Exploitation is limited to reading HTTP responses from services reachable from the PraisonAI host's network interface; targets that require mutual TLS, host-based authentication, or are unreachable from the host's network cannot be reached. Deployments not hosted in cloud environments lack the cloud metadata attack path but remain vulnerable to SSRF against any other internal HTTP service reachable from the host. |
| Impact | The vendor-provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N, score 7.7) accurately characterizes the attack model: network-reachable, low complexity, no authentication required, with high confidentiality impact on subsequent systems (internal services and cloud infrastructure) rather than on the PraisonAI process itself. The SC:H designation is consistent with the most severe realistic outcome - exfiltration of cloud IAM credentials from instance metadata endpoints, which can lead to full cloud account compromise. Real-world risk is substantially elevated in cloud-hosted deployments (AWS, GCP, Azure) where instance metadata services are reachable by default. The patch-bypass nature of this CVE increases urgency relative to a first-disclosure SSRF, as operators who applied the prior fix (CVE-2026-40160) may incorrectly believe they are protected. No CISA KEV listing has been identified and no EPSS score is available in the provided intelligence, so exploitation probability cannot be quantified from these signals alone; however, the SSRF-via-redirect technique is well-understood and the target (cloud metadata) is high-value, making opportunistic exploitation plausible for motivated actors. The primary limiting factor is that exploitation requires influencing a URL passed to an agent workflow, which narrows the attack surface compared to a generic unauthenticated web endpoint. |
| Exploit ScenarioDerived | An attacker interacting with a PraisonAI agent that accepts user-supplied URLs - for example, a research or scraping agent - submits a URL pointing to an attacker-controlled public server. That server responds with an HTTP 302 redirect to http://169.254.169.254/latest/meta-data/iam/security-credentials/MyRole, and because the httpx client follows the redirect without revalidating the destination host, the cloud instance's IAM role credentials are fetched and returned in the web_crawl() response body, potentially surfacing in agent output, logs, or downstream tool results. No public proof-of-concept code has been identified, but the technique requires only a basic redirect server and is well-documented in public SSRF research. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 05, 2026
Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can influence URLs processed by agent or tool workflows to exfiltrate responses from internal services, private network hosts, and cloud metadata endpoints such as AWS IAM credential URLs. This is a confirmed patch bypass of the previously disclosed SSRF class in CVE-2026-40160 and GHSA-8f4v-xfm9-3244, exploiting the fact that the httpx fallback client uses follow_redirects=True without revalidating redirect destinations against the original host blocklist. No public exploit code and no CISA KEV active exploitation designation have been identified at time of analysis.
RemediationAI
Upgrade PraisonAI to version 1.6.58, which is confirmed by the vendor advisory at https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-8hjw-25cg-g52h to resolve the redirect-destination revalidation gap. For deployments that cannot immediately upgrade, implement an explicit URL allowlist in any code or agent configuration that calls web_crawl(), restricting fetches to a known set of trusted public domains rather than relying on the blocklist approach, which has been demonstrated as bypassable. As a network-layer compensating control, configure egress firewall rules on the PraisonAI host to block outbound HTTP/HTTPS to 169.254.169.254 (cloud metadata), 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, and 127.0.0.0/8 - note that this reduces the exfiltration target space but does not prevent SSRF to other internal addresses or future bypass variants. On AWS, IMDSv2 token-required enforcement (instance metadata v2 only) limits credential exposure from metadata SSRF but does not eliminate all internal-service exposure.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
PraisonAI (CPE: cpe:2.3:a:mervinpraison:praisonai) is a Python-based multi-agent orchestration framework. The vulnerable component is praisonaiagents.tools.web_crawl_tools.web_crawl(), which performs HTTP fetching on behalf of agent and tool workflows. The root cause (CWE-918: Server-Side Request Forgery) is an incomplete validation design: the function's initial guard inspects the caller-supplied URL's host against a blocklist of loopback and RFC 1918 ranges, but then delegates the actual fetch to an httpx.Client initialized with follow_redirects=True. Since httpx transparently follows HTTP 3xx redirects without invoking any additional host validation, an attacker-controlled public endpoint can issue a redirect to 127.0.0.1, 169.254.169.254 (cloud instance metadata), or any internal address reachable from the PraisonAI host. The redirected response body is returned to the caller. This pattern - validating only the initially requested URL rather than the effective destination - is the canonical SSRF-via-open-redirect bypass and represents an incomplete fix relative to the prior GHSA advisories for this same code path.
Know when Praisonai gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
Network SSRF with scope change to internal/cloud systems; no authentication required per agent API exposure; read-only impact means I:N and A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Executive ViewAI
PraisonAI versions 1.5.128 through 1.6.57 contain a server-side request forgery vulnerability that circumvents previously-patched security controls, enabling attackers to exfiltrate AWS credentials, internal service data, and cloud metadata. Organizations running affected versions face direct risk of credential compromise and lateral movement through internal infrastructure. Immediate patching is required to remediate this bypass.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans
WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att
PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne
Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller
SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou
Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec
Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u
Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d
Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex
Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl
Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr
Server-Side Request Forgery in PraisonAI before version 4.6.58 allows unauthenticated remote attackers to force the appl
EUVD-2026-53582
GHSA-8hjw-25cg-g52h
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB