Read the docs

Untrusted model loading in Crawl4AI via CosineStrategy model_name

Priority HIGH 69CWE-502Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
High
Attack requirements
Present
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-502.

Summary

Crawl4AI from 0.9.0 before 0.9.5 fails to filter the CosineStrategy model_name field in untrusted Docker API request bodies, so authenticated clients can choose which HuggingFace model the server loads. An attacker can reference a malicious repository with a pickle weight file (CWE-502) to execute Python code under PyTorch below 2.6, or exhaust disk and memory. Exploitation requires low privileges and is rated as proof-of-concept only.

Written with Claude Haiku 5.5 from the sources below · 2026-11-03

Description from the CNA

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00419 36th percentileScored 2026-11-07
Fix Fixed crawl4ai (unclecode): 0.9.5

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
unclecodecrawl4ai0.9.0 to before 0.9.50.9.5Patch availableCNA
  • crawl4ai Vendorunclecode Affected 0.9.0 to before 0.9.5 Fixed in 0.9.5 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:kidocode:crawl4ai:*:*:*:*:*:*:*:*——unclecode
  • cpe:2.3:a:kidocode:crawl4ai:*:*:*:*:*:*:*:* Versions — — ·unclecode

Remediation

Upgrade unclecode crawl4ai to 0.9.5 or later, which fixes the issue.

Written with Claude Haiku 5.5 from the sources below · 2026-11-03

  • Fix · CNA crawl4ai (unclecode) Fixed in 0.9.5

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    unclecode crawl4ai 0.9.5

    5 records Highest priority Priority HIGH 4 HIGH, 1 LOW

    Other records, highest priority first

    • TI-2026-82637 Denial of service in Crawl4AI via unbounded CrawlerRunConfig delay fieldsPriority HIGH 77
    • TI-2026-82640 Blind SSRF in Crawl4AI Docker server via CacheValidator freshness checkPriority HIGH 70
    • TI-2026-82636 Crawl4AI ignores certificate errors, enabling interception of crawlsPriority HIGH 69

Timeline

  1. 2026-10-29 Threatist record created from CVE-2026-119120
  2. 2026-10-29 Alias added: GHSA-3x32-3792-pvfc
  3. 2026-10-31 Priority changed: MEDIUM → LOW
  4. 2026-11-03 CISA SSVC decision points changed
  5. 2026-11-03 Priority changed: LOW → HIGH

References

  • TI-2026-38760 Crawl4AI: AST Sandbox Escape via gi_frame.f_back Chain - Pre-Auth RCE in Docker API CVSS 3.1CRITICAL 10.0
  • TI-2026-40630 Crawl4AI - Authentication Bypass via Hardcoded JWT Signing Key CVSS 4.0CRITICAL 9.3
  • TI-2026-82637 Denial of service in Crawl4AI via unbounded CrawlerRunConfig delay fields CVSS 4.0HIGH 8.7
  • TI-2026-62075 crawl4ai before 0.9.3 Arbitrary File Write via PDFContentScrapingStrategy CVSS 4.0HIGH 8.7
  • TI-2026-82640 Blind SSRF in Crawl4AI Docker server via CacheValidator freshness check CVSS 4.0MEDIUM 6.9
  • TI-2026-82636 Crawl4AI ignores certificate errors, enabling interception of crawls CVSS 4.0HIGH 8.3
See all 32 →

Sources