Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed /crawl API endpoint
-
DeliverySubmit crawl of attacker-controlled page
-
ExploitEnable link_preview_config with include_external/include_patterns
-
ExecutionAsyncUrlSeeder fetches internal/cloud-metadata links
-
PersistServer returns parsed head data
-
ImpactHarvest internal responses or 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 | Exploitation requires the link_preview_config feature to be enabled on /crawl requests, and the attacker must supply a controlled page with include_external and include_patterns set so that AsyncUrlSeeder follows and fetches the referenced internal, private, or cloud-metadata links. The affected version range is Crawl4AI 0.7.0 up to (not including) 0.9.4. Limiting factors: link_preview_config is a non-default feature that must be active, and the Crawl4AI /crawl API must be network-reachable by the attacker; the CVSS vector indicates no authentication (PR:N) and no user interaction (UI:N), so against a reachable instance with the feature enabled there are no further barriers. |
| Impact | This is a genuinely high-priority flaw for affected deployments. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes network-reachable, low-complexity, unauthenticated exploitation requiring no user interaction, and the high-vendor-score (9.2) is driven by VC:H plus a subsequent-system confidentiality impact (SC:H) reflecting that the SSRF can reach cloud-metadata endpoints and exfiltrate their parsed contents - a realistic path to IAM credential theft in cloud environments. However, the signals are not uniformly severe: exploitation is gated on a specific non-default feature (link_preview_config enabled on /crawl, with include_external and include_patterns set), which the raw CVSS does not capture, so the PR:N/AC:L rating overstates ease against default installs. No EPSS score was provided, so exploitation probability cannot be quantified. It is not on CISA KEV and no public POC was supplied in the input, so there is no evidence of active or widespread exploitation - current risk is 'high potential, unproven in-the-wild.' Net: prioritize patching where link preview is enabled and the service is internet-exposed, but the no-special-config default posture materially lowers real-world exposure versus the headline score. |
| Exploit ScenarioDerived | An attacker sends a /crawl API request to an exposed Crawl4AI instance with link_preview_config enabled, pointing at an attacker-controlled page whose include_external and include_patterns are configured to reference internal, private, or cloud-metadata URLs (e.g., 169.254.169.254). AsyncUrlSeeder follows those links from the server side and returns the parsed head data, letting the attacker read internal service responses or cloud instance metadata. No authentication or user interaction is required per the CVSS vector, though no public exploit was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Server-side request forgery in Crawl4AI (unclecode) versions 0.7.0 through 0.9.3 lets unauthenticated, remote API clients force the crawler to fetch internal, private, and cloud-metadata URLs and hand back the parsed head data of those responses. The attack abuses the optional link_preview_config on /crawl requests: an attacker submits a page they control with include_external and include_patterns enabled, and the AsyncUrlSeeder component then follows links pointing at internal services or the cloud instance metadata endpoint. Exploitation requires the non-default link_preview_config feature to be active and the /crawl API to be network-reachable; the CVSS vector (PR:N, UI:N) indicates no authentication or user interaction is needed once those conditions hold. No public exploit code has been identified at time of analysis, and the issue is rated 9.2 under CVSS 4.0 (independent assessment: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N), making this a genuinely high-priority flaw for affected deployments.
RemediationAI
Vendor-released patch: upgrade Crawl4AI to 0.9.4 or later, which closes the affected 0.7.0 to <0.9.4 range (see GHSA-wh5w-hmj3-vgg7 and the VulnCheck advisory linked in the references). If upgrading immediately is not possible, the most direct compensating control is to stop honoring caller-supplied link preview settings: disable the link_preview_config option on /crawl requests or force include_external/include_patterns to safe defaults in your API wrapper, accepting the trade-off that legitimate link-preview and external-link discovery functionality is lost for those calls. Network-level mitigations reduce blast radius but do not fix the flaw: place the Crawl4AI service behind an authenticated reverse proxy or restrict /crawl to trusted client IPs (this assumes such a control is deployed even though the vulnerability itself is unauthenticated, PR:N), and enforce outbound egress filtering that blocks RFC1918, loopback, link-local, and 169.254.169.254/IMDS destinations from the crawler's container or host - with the caveat that a strict allow-list can break crawling of legitimate external sites and that IMDS blocking may interfere with cloud SDK functionality that relies on the metadata service. Enforcing IMDSv2 with hop limits on cloud instances adds a further layer against metadata credential theft. Because the assessment notes no public exploit code at time of analysis, patching can proceed on a normal but expedited schedule rather than emergency change control.
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
CWE-918 (Server-Side Request Forgery) is the root cause class here. Crawl4AI is a Python crawling/scraping framework built to produce LLM-friendly content, and its /crawl endpoint accepts a client-supplied link_preview_config object that controls how linked pages are discovered and previewed. When include_external and include_patterns are set, the AsyncUrlSeeder component asynchronously fetches the URLs matched by those patterns and extracts head data (title, meta tags, and related preview fields), which is then returned in the API response. Because the destination URL set is derived from page content supplied by the caller rather than validated against an allow-list of external hosts, a controlled page can point the seeder at RFC1918 addresses, loopback, link-local ranges, or the cloud metadata service (169.254.169.254), turning the crawler into a proxy for internal reconnaissance and potential credential exposure. The scope-changed rating (S:C in CVSS 3.1, SC:H in CVSS 4.0) reflects that a compromise of the crawler's network position can affect resources beyond Crawl4AI itself, while the confidentiality-only impact (VC:H/C:H with VI/VA none) matches the fact that data is read and returned rather than modified or used to crash services. The vulnerability affects the cpe:2.3:a:unclecode:crawl4ai package across the 0.7.0 to <0.9.4 release range, reported by VulnCheck and tracked in GitHub advisory GHSA-wh5w-hmj3-vgg7.
Know when Crawl4ai 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:H/VI:N/VA:N/SC:H/SI:N/SA:N
Network-reachable unauthenticated SSRF (PR:N, AV:N, AC:L); scope changes as it reaches internal/metadata systems (S:C) with high confidentiality from leaked head data and no integrity/availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Crawl4AI 0.7.0 before 0.9.4 contains a server-side request forgery vulnerability that allows API clients to reach internal addresses by enabling link_preview_config on /crawl requests. Attackers can supply a controlled page with include_external and include_patterns set, causing AsyncUrlSeeder to fetch internal, private, and cloud-metadata links and return their parsed head data.
Executive ViewAI
Crawl4AI versions 0.7.0 through 0.9.3 contain a critical server-side request forgery flaw that allows unauthenticated remote API clients to force the crawler to fetch internal, private, and cloud-metadata URLs and return parsed content from those responses. The vulnerability requires the non-default link_preview_config feature to be enabled and the /crawl API to be network-reachable, but where those conditions hold, a 9.2 severity rating and unauthenticated access path mean any exposed deployment could leak internal service data or cloud credentials to an external attacker. Leadership should care because affected teams may face credential theft and lateral movement into internal systems, with no public exploit identified at time of analysis and no vendor-released patch yet available.
No vendor-released patch identified at time of analysis. Interim mitigations: disable the non-default link_preview_config feature on /crawl, restrict network reachability of the /crawl API to trusted clients, enforce egress allowlisting that blocks internal RFC1918 ranges and cloud metadata endpoints (169.254.169.254), require IMDSv2 with hop limit 1, and front the API with an authenticated proxy or gateway.
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.
Remote code execution in Crawl4AI Docker API before 0.8.0 via hooks parameter. The /crawl endpoint accepts Python code i
Authentication bypass in Crawl4AI Docker API server (versions prior to 0.8.7) allows remote unauthenticated attackers to
Arbitrary local file disclosure in Crawl4AI's Docker API (versions before 0.8.0) lets unauthenticated remote attackers r
Remote code execution in Crawl4AI's Docker API server (versions prior to 0.9.0) lets unauthenticated attackers run arbit
Arbitrary file write in Crawl4AI (the open-source LLM-friendly web crawler by unclecode) before version 0.9.0 lets a mal
Arbitrary file write in Crawl4AI Docker API server before 0.8.8 lets unauthenticated remote attackers escape the ALLOWED
Arbitrary JavaScript execution in Crawl4AI's Docker API server (versions before 0.8.7) lets remote attackers submit code
Server-side request forgery in Crawl4AI's Docker API server (versions before 0.8.7) allows remote unauthenticated attack
Server-side request forgery in Crawl4AI before 0.8.7 allows unauthenticated remote attackers to coerce the server into f
Crawl4AI <=0.4.247 is vulnerable to SSRF in /crawl4ai/async_dispatcher.py. Rated critical severity (CVSS 9.1), this vuln
Arbitrary file write in Crawl4AI's Docker API server (versions before 0.8.7) lets remote unauthenticated attackers overw
Credential exfiltration in Crawl4AI's Docker API server (all versions before 0.8.8) lets remote unauthenticated attacker
EUVD-2026-97682
GHSA-ppj7-m7ph-jqc6
NVD
CVE.org
EPSS
Exploit-DB