Critical Firecrawl Flaw Allowed File Read and SSRF via JSON Schema `$ref`
Vulnerability Disclosure · 2 sources · Updated 3mo ago · First seen Aug 10, 2026

Firecrawl disclosed and fixed CVE-2026-72904, a critical vulnerability in its extraction functionality that allowed arbitrary file read and server-side request forgery through unsafe JSON Schema $ref dereferencing. In versions prior to 2.11.32, the application used @apidevtools/json-schema-ref-parser with default resolver behavior, enabling attacker-supplied schemas to resolve local file paths and remote HTTP(S) references. Attackers could hide $ref values inside default, const, or enum fields that AJV would not traverse, then force a dereference error so contents from the extract worker filesystem were exposed in API error messages.
The fix replaces the external schema dereferencing library with an internal dereferenceSchema implementation that only expands internal JSON Pointer references within the same document. The new logic preserves unresolved or external references, blocks filesystem and HTTP(S) resolution to prevent file access and SSRF, detects self-referential cycles, and enforces a maximum resolution limit of 50,000 to prevent runaway processing. Tests added with the patch explicitly verify that file-based and network-based $ref values remain untouched, and the hardened resolver was integrated into Firecrawl’s schema-processing path.


