Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInfluence agent via prompt injection
-
DeliverySupply internal/metadata URL to SeleniumScrapingTool
-
ExploitBypass missing validate_url private-address check
-
ExecutionHeadless Chrome fetches cloud metadata endpoint
-
ImpactExfiltrate internal data and cloud credentials
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 | Requires the target application to actually enable and use crewai-tools' SeleniumScrapingTool (which drives a local headless Chrome WebDriver) on a vulnerable version (through 1.15.28), and the attacker must be able to influence the agent's website_url tool input - in practice via indirect prompt injection in content the agent processes. The root cause is that the tool never calls the validate_url private-address check, so loopback, RFC1918, and link-local cloud-metadata (169.254.169.254) targets are not blocked. Limiting factors: exploitation is not a direct attacker HTTP request but depends on a successful prompt-injection path into the agent (UI:P), on the vulnerable tool being deployed, and - for cloud credential theft specifically - on the workload running in a cloud environment exposing an unauthenticated instance metadata service. |
| Impact | This is a credible medium-to-high priority issue, but not an emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P, score 8.3) signals a network-reachable, low-complexity flaw requiring no privileges but some passive user/agent interaction - consistent with an SSRF triggered indirectly via prompt injection rather than a directly attacker-controlled request. A vendor patch exists (crewAI PR #6870) and the finding was reported by VulnCheck, which lends credibility. Key signals are MISSING: no EPSS score was provided, there is no CISA KEV listing, and no public POC was supplied in the input, so exploitation status is 'no public exploit identified at time of analysis.' The main caveat is the attack-path dependency: real risk hinges on (a) the application actually using SeleniumScrapingTool and (b) an attacker's ability to influence agent tool input through (indirect) prompt injection - the CVSS PR:N does not capture that the attacker must first compromise the agent's input channel. Impact if conditions are met is serious (cloud credential and internal-data disclosure), so it warrants prompt patching for any CrewAI deployment that enables this tool, but it is not a broad, internet-wide mass-exploitation risk. |
| Exploit ScenarioDerived | An attacker plants malicious instructions in content a CrewAI agent ingests (e.g. a web page or document), causing the agent to pass an attacker-chosen URL to SeleniumScrapingTool. Because the tool never runs the validate_url private-address check, headless Chrome navigates to http://169.254.169.254/latest/meta-data/ or an RFC1918 host and returns the content, disclosing internal data and cloud credentials. No public exploit code was identified in the provided data, but the vendor PR and VulnCheck advisory document the flaw and fix precisely. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Server-side request forgery in the SeleniumScrapingTool of crewai-tools through 1.15.28 lets an attacker who can influence the agent's website_url input - in practice through indirect prompt injection in content the agent processes - steer the local headless Chrome WebDriver to loopback, RFC1918, and link-local cloud-metadata addresses such as 169.254.169.254, disclosing internal service responses and potentially cloud instance credentials. The flaw is unauthenticated from the tool's perspective (CVSS v4.0 AV:N/PR:N, assessed as CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N), requires the victim deployment to actually have the tool enabled, and is limited to information disclosure - no integrity or availability impact is assessed. An upstream fix has been proposed in crewAI pull request #6870, but no public exploit code was identified at time of analysis and the issue is not in CISA KEV; it is a credible medium-to-high priority issue rather than an emergency.
RemediationAI
Vendor patch availability is reported and the upstream fix is crewAI pull request #6870 (https://github.com/crewAIInc/crewAI/pull/6870), which routes the field validator, the constructor, and _make_request through validate_url; because the fix references a PR rather than a tagged release, confirm on install that the crewai-tools version you deploy contains the validate_url calls in selenium_scraping_tool.py, and treat any version at or below 1.15.28 as unpatched. Where upgrading is not immediately possible, the most effective control is to stop passing untrusted URLs: remove or disable SeleniumScrapingTool from agents that ingest external content, or subclass it to call crewai_tools.security.safe_path.validate_url on every input - the trade-off is that legitimate private-network targets (internal wikis, staging hosts) will also be blocked. Complement this with network egress policy on the agent workload that denies link-local 169.254.169.254, RFC1918 ranges, and loopback from the Chrome/Chromedriver process, or run the browser in a network namespace with no route to internal services (side effect: breaks any scraping of intranet content and may interfere with proxy-based egress). Enforcing IMDSv2-only on AWS (or the equivalent hardened metadata setting on other clouds) prevents credential retrieval through unauthenticated GET fetches, though it does not stop internal-content disclosure. Finally, harden the prompt-injection path itself by treating retrieved web content as untrusted and restricting the agent's ability to select arbitrary tool arguments.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
SeleniumScrapingTool is a crewai-tools utility that hands a URL to a local headless Chrome WebDriver and returns the rendered page content to an LLM agent, which means the fetch originates from the host's or container's network position rather than the attacker's. The root cause is CWE-918: the class defines a pydantic validator for website_url but simply returned the value unchanged, and the request path never invoked crewai_tools.security.safe_path.validate_url, the private-address guard already used by other scraping integrations (Firecrawl, Scrapfly). Consequently no loopback (127.0.0.0/8, ::1), RFC1918, or link-local (169.254.0.0/16, including the 169.254.169.254 instance metadata endpoint) filtering was applied before navigation. The proposed patch imports validate_url and applies it in three places: the pydantic field validator, the constructor for the fixed-URL schema (mapping the sanitized value back into the tool description string), and again inside _make_request as defense in depth for the fixed-URL path that bypasses pydantic re-validation; accompanying tests assert that loopback targets, cloud metadata targets, and private constructor URLs are rejected with the WebDriver's get() never being called. Exploitation therefore depends on the agent accepting attacker-influenced tool arguments and on the workload being reachable to interesting internal endpoints, with credential theft further gated on a cloud instance metadata service being exposed.
Know when Crewai Tools 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:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Network-reachable SSRF needing no privileges but mediated by prompt-injected agent input (UI:R); reaches backend/metadata systems (S:C, C:H) to disclose data with no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
crewai-tools through 1.15.28 contains a server-side request forgery vulnerability in SeleniumScrapingTool that allows attackers to fetch internal resources because it never applies the validate_url private-address check. Attackers influencing agent tool input through prompt injection can direct headless Chrome to loopback, RFC1918, or cloud metadata addresses to disclose internal data and cloud credentials.
Executive ViewAI
Deployments of crewai-tools up to 1.15.28 that enable the SeleniumScrapingTool are exposed to a server-side request forgery weakness that can let untrusted content processed by an AI agent redirect browsing to internal services or cloud metadata endpoints, potentially exposing sensitive responses and cloud instance credentials. The issue is rated High (CVSS 8.3) and requires the tool to be enabled; no public exploit identified at time of analysis and it is not in CISA KEV. Leadership should treat this as a priority patch-and-exposure-reduction item for AI agent platforms that process third-party or user-supplied content.
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.
EUVD-2026-104400
GHSA-5595-9g9c-5cc4
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB