Skip to main content

Crawl4AI CVE-2026-109238

| EUVDEUVD-2026-97682 CRITICAL
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-12 VulnCheck GHSA-ppj7-m7ph-jqc6
9.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed /crawl API endpoint
  2. Delivery
    Submit crawl of attacker-controlled page
  3. Exploit
    Enable link_preview_config with include_external/include_patterns
  4. Execution
    AsyncUrlSeeder fetches internal/cloud-metadata links
  5. Persist
    Server returns parsed head data
  6. Impact
    Harvest 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

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

Crawl4AI 0.7.0 <0.9.4

Affected Packages

euvd crawl4ai fix: 0.9.4

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

Vendor (VulnCheck) PRIMARY 9.2 CRITICAL
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
vuln.today AI 8.6 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/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
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 12, 2026 - 18:03 EUVD
CVE Published
Oct 12, 2026 - 16:04 cve.org
CRITICAL 9.2

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
popular open-source LLM-oriented crawler library, moderate 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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
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.

CVE-2026-26216 CRITICAL POC
10.0 Feb 12

Remote code execution in Crawl4AI Docker API before 0.8.0 via hooks parameter. The /crawl endpoint accepts Python code i

CVE-2026-56265 CRITICAL POC
9.3 Jun 21

Authentication bypass in Crawl4AI Docker API server (versions prior to 0.8.7) allows remote unauthenticated attackers to

CVE-2026-26217 CRITICAL POC
9.2 Feb 12

Arbitrary local file disclosure in Crawl4AI's Docker API (versions before 0.8.0) lets unauthenticated remote attackers r

CVE-2026-57572 CRITICAL
10.0 Jul 06

Remote code execution in Crawl4AI's Docker API server (versions prior to 0.9.0) lets unauthenticated attackers run arbit

CVE-2026-57571 CRITICAL
9.6 Jul 06

Arbitrary file write in Crawl4AI (the open-source LLM-friendly web crawler by unclecode) before version 0.9.0 lets a mal

CVE-2026-56258 CRITICAL
9.2 Jun 23

Arbitrary file write in Crawl4AI Docker API server before 0.8.8 lets unauthenticated remote attackers escape the ALLOWED

CVE-2026-56264 CRITICAL
9.2 Jun 30

Arbitrary JavaScript execution in Crawl4AI's Docker API server (versions before 0.8.7) lets remote attackers submit code

CVE-2026-56261 CRITICAL
9.2 Jul 10

Server-side request forgery in Crawl4AI's Docker API server (versions before 0.8.7) allows remote unauthenticated attack

CVE-2026-56266 CRITICAL
9.2 Jun 22

Server-side request forgery in Crawl4AI before 0.8.7 allows unauthenticated remote attackers to coerce the server into f

CVE-2025-28197 CRITICAL
9.1 Apr 18

Crawl4AI <=0.4.247 is vulnerable to SSRF in /crawl4ai/async_dispatcher.py. Rated critical severity (CVSS 9.1), this vuln

CVE-2026-56260 HIGH
8.8 Jul 12

Arbitrary file write in Crawl4AI's Docker API server (versions before 0.8.7) lets remote unauthenticated attackers overw

CVE-2026-56259 HIGH
8.8 Jul 12

Credential exfiltration in Crawl4AI's Docker API server (all versions before 0.8.8) lets remote unauthenticated attacker

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