Skip to main content

crewai-tools CVE-2026-112308

| EUVDEUVD-2026-104400 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-19 VulnCheck GHSA-5595-9g9c-5cc4
8.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Influence agent via prompt injection
  2. Delivery
    Supply internal/metadata URL to SeleniumScrapingTool
  3. Exploit
    Bypass missing validate_url private-address check
  4. Execution
    Headless Chrome fetches cloud metadata endpoint
  5. Impact
    Exfiltrate 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

crewai-tools 0 ≤1.15.28

Affected Packages

euvd crewai_tools no fix

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

Vendor (VulnCheck) PRIMARY 8.3 HIGH
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
vuln.today AI 7.4 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
optional scraping tool in an emerging AI agent framework, limited production footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy