Skip to main content

Crawl4AI CVE-2026-119120

| EUVDEUVD-2026-113187 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-10-29 VulnCheck GHSA-3x32-3792-pvfc
7.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to Docker API with token
  2. Delivery
    Submit crawl request with malicious model_name
  3. Exploit
    Server downloads attacker HuggingFace repo
  4. Execution
    Pickle weight deserializes and runs Python
  5. Impact
    Exfiltrate LLM keys or exhaust disk/memory

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a Crawl4AI Docker API server deployment built with the cosine, transformer, or all extras (for example INSTALL_TYPE=all) and a writable HuggingFace cache - the default image (INSTALL_TYPE=default) installs neither PyTorch nor transformers and is not affected. A valid API token is required (authenticated per PR:L). The arbitrary-code-execution outcome additionally requires the server to run PyTorch older than 2.6 together with a transformers release that lacks the CVE-2025-32434 .bin-weights refusal; on PyTorch 2.6+ this path is closed and exploitation is limited to attacker-chosen model downloads that exhaust disk and memory. The library used directly is not affected unless an application passes untrusted input into CosineStrategy(model_name=...). Limiting factors: authentication, the non-default install profile, and the legacy-PyTorch precondition for code execution.

Impact

Signals are moderate and partly conditional. The supplied CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H) scores 7.7 (High): network-reachable and high impact on the vulnerable system, but gated by PR:L (a valid API token is required) and by AC:H/AT:P, reflecting that full code execution depends on an environmental precondition the attacker does not control - the server must run PyTorch below 2.6 together with a transformers release lacking the CVE-2025-32434 guard. The vuln.today decision label is 'this_week', not act_now/emergency. There is no CISA KEV listing (not actively exploited per available data) and no EPSS score was provided, so widespread-exploitation probability cannot be quantified from the input. The GHSA advisory publishes a working-looking curl proof of concept, but the input does not mark it as confirmed weaponized exploit code. Net: this is a genuine authenticated RCE/DoS on a specific deployment profile (Docker API server with the cosine/transformer/all extras) rather than a mass-exploitable internet-wide critical - treat it as a real near-term patch priority for affected Docker operators, but its blast radius is bounded by the authentication requirement and the legacy-PyTorch precondition. On current PyTorch the code-execution path is closed and only the disk/memory-exhaustion (availability) impact remains.

Exploit ScenarioDerived

An attacker holding a valid Crawl4AI Docker API token sends a crawl request whose CosineStrategy extraction_strategy sets model_name to an attacker-controlled HuggingFace repository; the server downloads and loads that repo, and on PyTorch older than 2.6 a crafted .bin pickle weight file runs arbitrary Python in the server process, exposing environment secrets such as LLM provider keys. The GHSA advisory includes a proof-of-concept curl request; because exploitation requires AC:H/AT:P conditions (legacy PyTorch and a token), it is not a trivial drive-by, and on current PyTorch the attacker is limited to forcing large model downloads that exhaust disk and memory.

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

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

Alert me

AnalysisAIv1 – Oct 29, 2026

Authenticated Crawl4AI Docker API clients can select an arbitrary HuggingFace model through the unfiltered CosineStrategy model_name field, enabling arbitrary Python execution when the server runs PyTorch below 2.6 with an older transformers release, and otherwise enabling attacker-chosen model downloads that can exhaust disk and memory. Affected releases are Crawl4AI 0.9.0 through 0.9.4; the default Docker image without the cosine, transformer, or all extras is not affected. A public proof-of-concept request is documented in the advisory, but it is not verified as working exploit code and active exploitation is not indicated.

RemediationAI

Upgrade Crawl4AI to 0.9.5, which refuses untrusted request bodies that set CosineStrategy.model_name so such requests receive the default model. Consult the GitHub advisory at https://github.com/unclecode/crawl4ai/security/advisories/GHSA-f856-7xp9-w3cc and the VulnCheck advisory at https://www.vulncheck.com/advisories/crawl4ai-0.9.0-before-0.9.5-untrusted-model-loading-via-cosinestrategy-model-name. If upgrading immediately is not possible, reject crawler_config bodies containing model_name at the reverse proxy; this blocks the attack but also prevents legitimate per-request model selection. Upgrade PyTorch to 2.6 or newer to close the pickle-based code-execution path, though this does not prevent attacker-chosen model downloads from consuming disk and memory. Pre-fill the HuggingFace cache with the approved model and set HF_HUB_OFFLINE=1 to prevent arbitrary downloads, at the cost of losing dynamic model fetching. Use the default image if cosine extraction is not needed, which removes PyTorch and transformers and the associated attack surface but also removes cosine extraction capability.

Affected VersionsENISA

Crawl4AI 0.9.0 <0.9.5

Affected Packages

euvd crawl4ai fix: 0.9.5

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 a CWE-502 deserialization risk compounded by CWE-829 inclusion of functionality from an untrusted control sphere. CosineStrategy is listed in UNTRUSTED_ALLOWED_TYPES but has no entry in UNTRUSTED_FIELD_ALLOWLIST, and model_name is not in UNTRUSTED_GLOBAL_FORBIDDEN_FIELDS, so _filter_untrusted_fields keeps it. CosineStrategy.__init__ passes model_name to load_HF_embedding_model, which calls AutoTokenizer.from_pretrained and AutoModel.from_pretrained without restricting the repository; those downloads do not go through the server's egress controls. Transformers loads .bin weights with torch.load(weights_only=True), and current transformers releases refuse .bin weights unless PyTorch is 2.6 or newer, as covered by CVE-2025-32434. Code execution therefore depends on PyTorch below 2.6 plus a transformers release lacking that check; on current PyTorch the same request still causes the server to download, write, and retain an attacker-selected model, which can exhaust disk and memory. The assessed vector is CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H, with authentication and non-default install prerequisites limiting exposure. The library used directly is not affected unless an application passes untrusted input into CosineStrategy(model_name=...).

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 7.7 HIGH
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Network-reachable Docker API with required API token (PR:L); AC:H because code execution depends on an attacker-uncontrolled PyTorch<2.6/transformers precondition; full C/I/A loss on in-process RCE, no scope change.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Oct 29, 2026 - 17:18 EUVD
CVE Published
Oct 29, 2026 - 15:58 cve.org
HIGH 7.7

DescriptionCVE.org

Crawl4AI from 0.9.0 before 0.9.5 fails to filter the CosineStrategy model_name field in untrusted Docker API request bodies, allowing authenticated clients to choose which HuggingFace model the server loads. Attackers can reference a malicious repository with a pickle weight file to execute Python code under PyTorch below 2.6, or exhaust disk and memory.

Technical POC Analysis

CWE-502 (Deserialization of Untrusted Data); the advisory also tags CWE-829 (Inclusion of Functionality from Untrusted Control Sphere).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Crawl4AI versions 0.9.0 through 0.9.4 contain a high-severity vulnerability that allows authenticated users to execute arbitrary code or cause resource exhaustion. Organizations using these versions in their Docker deployments with machine learning extensions are at risk of system compromise or service disruption. Leadership should prioritize remediation because this affects the integrity and availability of data processing systems.

Business Impact: High
Compensating Controls

Restrict API access to trusted users, upgrade PyTorch to 2.6+ and transformers to a secure version, or disable CosineStrategy model selection by using a fixed model or removing the feature.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Low
popular open-source AI crawler, limited production Docker-server 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.4%
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

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