Skip to main content

Crawl4AI EUVDEUVD-2026-104403

| CVE-2026-112363 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-19 VulnCheck GHSA-vjf2-p5h6-wg3v
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed Crawl4AI Docker API
  2. Delivery
    Submit request with fetch_ssl_certificate=true and crafted userinfo URL
  3. Exploit
    Bypass destination check via userinfo parsing mismatch
  4. Execution
    SSLCertificate.from_url connects to internal host:443
  5. Impact
    Leak certificate details and confirm internal reachability

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 (1) the Crawl4AI Docker API server (versions 0.8.7-0.9.5) to be network-reachable by the attacker, and (2) the request to set fetch_ssl_certificate=true, which triggers the vulnerable SSLCertificate.from_url path. The attacker must supply a URL whose userinfo component causes the destination/allowlist check to parse a different host than urlparse's netloc-based extraction used by the sink, so the connection resolves to an internal target. Limiting factors: the forced connection is only to TCP port 443 (pre-patch the port was hardcoded), and the disclosed data is restricted to TLS certificate metadata plus reachability inference - there is no arbitrary-port SSRF, no response body retrieval, and no write/integrity impact. No authentication or user interaction is required (PR:N/UI:N), but the fetch_ssl_certificate feature must be invokable in the target deployment.

Impact

This is a medium-severity SSRF (CWE-918) with a vendor-supplied CVSS 4.0 score of 6.9 (vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N), indicating a network-reachable, low-complexity, unauthenticated attack whose only confirmed impact is a LOW confidentiality leak with no integrity or availability impact. The signals are internally consistent and point to a genuine but bounded risk: an unauthenticated attacker can reach the flaw easily (AV:N/AC:L/PR:N/UI:N), but the payoff is limited to probing internal host reachability on port 443 and leaking TLS certificate metadata - not direct code execution or data exfiltration. No EPSS score was provided in the input, so exploitation probability cannot be quantified. The CVE is NOT listed in CISA KEV and no public exploit code was supplied; the GitHub PR and unit tests are remediation artifacts, not weaponized exploits, so this is 'no public exploit identified at time of analysis.' Net assessment: a legitimate priority for anyone exposing the Crawl4AI Docker API server to untrusted input (SSRF can pivot into internal network reconnaissance), but the low technical impact and absence of KEV/POC/EPSS signals place it below urgent-patch tier. Prioritize based on whether the Docker server is network-exposed. Note: the vendor supplied only a CVSS 4.0 vector - no CVSS 3.1 vector was provided in the input.

Exploit ScenarioDerived

An attacker submits a crawl or certificate-fetch request to an exposed Crawl4AI Docker API server with fetch_ssl_certificate=true and a URL crafted with misleading userinfo (e.g. https://trusted@10.0.0.5/) that parses differently in the destination-check logic than in SSLCertificate.from_url. The server connects to the attacker-chosen internal host on port 443, and timing/success plus returned certificate details reveal which internal services exist and their TLS identities. No public exploit code was provided, though the fix and its regression tests are public.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 Crawl4AI 0.8.7 through 0.9.5 lets unauthenticated, network-positioned attackers abuse the Docker API server's fetch_ssl_certificate=true path to make the service connect to internal hosts on TCP/443 and leak TLS certificate metadata or infer reachability. The vendor CVSS 4.0 score is 6.9, while the independent assessment is CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N, reflecting low confidentiality impact only. No public exploit identified at time of analysis.

RemediationAI

Upstream fix available via PR https://github.com/unclecode/crawl4ai/pull/2304; a released patched version is not independently confirmed in the provided data. Apply the upstream fix and, until deployed, disable the fetch_ssl_certificate feature or restrict the Crawl4AI Docker API server to trusted networks; this removes certificate-fetching functionality or limits legitimate API clients. Enforce egress controls so the Crawl4AI server cannot reach internal networks on TCP/443, with the trade-off that legitimate crawls to external HTTPS targets must be explicitly allowed. Do not rely solely on URL allowlists that may parse userinfo differently from the request sink; validate destinations with a single canonical parser such as urlparse(url).hostname and reject missing or ambiguous hostnames.

Affected VersionsENISA

Crawl4AI 0.8.7 ≤0.9.5

Affected Packages

euvd crawl4ai 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

This is CWE-918 server-side request forgery in Crawl4AI's Docker API server certificate-fetching feature. The root cause is inconsistent URL host extraction when a URL contains userinfo: the destination/allowlist check and SSLCertificate.from_url do not resolve the same host, so a crafted userinfo URL can cause the certificate-fetch sink to connect to an internal target while the check evaluates a different destination. Pre-patch from_url derived the hostname from urlparse(url).netloc and split on ':' rather than using parsed.hostname, with the port hardcoded to 443. The upstream fix in PR #2304 switches to urlparse(url).hostname, honors parsed.port, rejects URLs without a hostname, and adds tests covering userinfo, explicit ports, and IPv6 literals. Because the vulnerable path only performs a TLS handshake and returns certificate fields, impact is limited to internal reachability probing and TLS certificate metadata disclosure on TCP/443, not arbitrary response-body retrieval or arbitrary-port SSRF.

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 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Network-reachable, low-complexity, unauthenticated SSRF with no user interaction; impact limited to low-confidentiality leak of certificate metadata and internal reachability, with no integrity or availability effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/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
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Crawl4AI from 0.8.7 through 0.9.5 contains a server-side request forgery vulnerability in the Docker API server that allows unauthenticated attackers to bypass destination checks via URL userinfo parsing differences. Attackers can set fetch_ssl_certificate=true with crafted userinfo URLs so SSLCertificate.from_url connects to internal hosts on port 443, probing reachability and leaking certificate details.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Medium
popular open-source AI/LLM web crawler, but niche Docker-server deployment
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
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-109238 CRITICAL
9.2 Oct 12

Server-side request forgery in Crawl4AI (unclecode) versions 0.7.0 through 0.9.3 lets unauthenticated, remote API client

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

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