Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit attacker-controlled URL to scrape API
-
DeliveryServe public IP during isInternalHost check
-
ExploitRebind DNS to internal metadata address
-
ExecutionProxy connects to 169.254.169.254
-
ImpactExfiltrate cloud metadata via scrape response
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 | The attacker must control the authoritative DNS for a hostname they can submit to Firecrawl's scrape API, and must set a low/zero TTL so the name resolves differently between the isInternalHost validation lookup and the Playwright proxy's connection - returning a routable public address during validation and a private/link-local address (e.g. the 169.254.169.254 cloud metadata IP or RFC1918 ranges) at connect time. Exploitation applies to the default blocking path where ALLOW_LOCAL_WEBHOOKS is not enabled (that is the path isInternalHost guards). Limiting factors: success depends on winning the timing window between the two resolutions (AT:P / the DNS-rebinding race), the attacker must operate attacker-controlled authoritative DNS, and the deployment must expose the scrape API to the attacker; affected only before version 2.11.586. |
| Impact | This is a genuine but second-tier priority. The authoritative CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:H/SI:L/SA:L, 7.0) tells a coherent story: network-reachable and unauthenticated (PR:N), but gated by an attack requirement (AT:P) - the DNS-rebinding timing window between the isInternalHost validation lookup and the actual proxy connection, which is a TOCTOU condition the attacker does not fully control. Impact is concentrated in the subsequent system (SC:H): the vulnerable service itself leaks little (VC:L), but the SSRF pivots into cloud metadata and internal resources, so the real damage is credential/data exposure behind the proxy. Exploitation status is 'no public exploit identified at time of analysis' - no CISA KEV listing and no reference in the input marked as a working PoC (the links are the GitHub issue, repo, vulnerable source, patch commit, and the VulnCheck advisory). No EPSS score was provided in the input, so exploitation-probability cannot be compared against the other signals - this is a gap, not a low-likelihood finding. The vuln.today decision label is 'this_week', consistent with a network-reachable SSRF that reaches cloud metadata but requires attacker-controlled DNS and a timing race rather than trivial one-shot exploitation. Net: a real, patch-this-week issue for anyone running Firecrawl's Playwright service exposed to untrusted scrape targets, not an emergency drop-everything case. |
| Exploit ScenarioDerived | An attacker registers a domain whose authoritative DNS they control with a very low TTL, then submits that URL to a Firecrawl scrape endpoint. During the isInternalHost validation the DNS answers with a public IP (passing the check), but on the subsequent proxy connection it answers with an internal address such as 169.254.169.254, so the Playwright SSRF proxy fetches the cloud instance metadata service and returns credentials or internal resource contents through the scrape API. No public exploit code is identified in the provided data, though the vulnerable code path and the fix are visible in the referenced source and patch commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 25, 2026
Firecrawl before 2.11.586 is affected by a server-side request forgery protection bypass in its Playwright service proxy, where an attacker who controls authoritative DNS for a submitted scrape target can rebind the hostname so the pre-connection validation sees a public address and the later proxy connection reaches a private or link-local address, exposing cloud metadata and internal services. Exploitation requires attacker-controlled DNS, a low or zero TTL, and winning the timing window between the validation lookup and the connection, and applies to the default blocking path unless ALLOW_LOCAL_WEBHOOKS is enabled. This is a genuine but second-tier priority: no public exploit was identified at time of analysis, and the vendor-released fix is Firecrawl 2.11.586.
RemediationAI
Upgrade Firecrawl to 2.11.586 or later; the vendor-released fix is commit 5e74ff37b41ac650d6bccff170a9be0a6decb946, which replaces the vulnerable isInternalHost logic in apps/playwright-service-ts/api.ts with ssrfPrepareRequest and related helpers that resolve and pin public addresses and add regression tests. The vendor advisory is https://www.vulncheck.com/advisories/firecrawl-before-2.11.586-ssrf-protection-bypass-via-dns-rebinding-in-playwright-service and the upstream issue is https://github.com/firecrawl/firecrawl/issues/5256. The available references do not document a validated workaround; the 2.11.586 fix is the authoritative remediation.
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
Firecrawl's apps/playwright-service-ts/api.ts used a proxy-chain Server with a prepareRequestFunction that called an isInternalHost helper. That helper lowercased the hostname, stripped a trailing dot, resolved it with dns/promises lookup(all:true), parsed addresses with ipaddr.js, and rejected any address whose range was not unicast. The structural weakness is a classic CWE-918 SSRF validation/use gap: the proxy validated the hostname by resolving it once, then made a separate connection that resolved the same name again. An attacker with authoritative DNS for the scrape target can answer the first query with a public unicast address and the second with a private, loopback, link-local or IPv4-mapped address such as 169.254.169.254, so the proxy fetches metadata or internal services on the attacker's behalf. The assessed CVSS 3.1 vector is AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N, reflecting network reachability, no privileges or user interaction, a scope change, high confidentiality impact and no integrity/availability impact, with AC:H capturing the DNS-rebinding race and attacker-controlled DNS prerequisite; the vendor's CVSS 4.0 score is 7.0. The fix commit 5e74ff37b41ac650d6bccff170a9be0a6decb946 moves SSRF handling into helpers/ssrf.ts, introducing resolvePublicAddresses, pinnedLookup and ssrfPrepareRequest, and adds ssrf.spec.ts coverage for non-unicast addresses including 127.0.0.1, 10.0.0.1, 169.254.169.254, ::1 and IPv4-mapped variants. The CPE cpe:2.3:a:firecrawl:firecrawl:*:*:*:*:*:*:*:* is a wildcard; the version boundary is supplied by the advisory and fix as before 2.11.586.
Know when Firecrawl 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:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:H/SI:L/SA:L
Network-reachable and unauthenticated (AV:N/PR:N); AC:H for the DNS-rebinding TOCTOU race; S:C and C:H because the SSRF pivots out to cloud metadata/credentials with no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Firecrawl before 2.11.586 contains a server-side request forgery vulnerability in the Playwright service SSRF proxy that allows attackers to bypass isInternalHost checks via DNS rebinding. Attackers controlling DNS for a scrape target can return a public address during validation and a private address at connect time, retrieving cloud metadata and internal resources through the scrape API.
Executive ViewAI
A high-severity vulnerability in Firecrawl (prior to 2.11.586) allows an attacker with controlled DNS to bypass SSRF protections and access internal cloud metadata and services. This could lead to unauthorized data exposure or lateral movement within the cloud environment, affecting the confidentiality and integrity of internal resources. Leadership should prioritize remediation to prevent potential cloud infrastructure compromise.
Apply vendor patch.
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.
Arbitrary file read and SSRF in Firecrawl before 2.11.32 lets an API caller exfiltrate files from the extraction worker
Arbitrary local file read in firecrawl-mcp-server 3.20.2 allows any caller of the firecrawl_parse MCP tool to extract se
Firecrawl's Playwright scraping service through version 2.8.0 permits attackers to bypass SSRF protections and access in
EUVD-2026-109380
GHSA-xmmq-vp8j-m5qf
NVD
CVE.org
EPSS
VulDB
Exploit-DB