Skip to content

[SECURITY] SSRF Vulnerability in firecrawl_crawl Tool (FIRECRAWL-001) #210

@AgentPrime-Bob

Description

@AgentPrime-Bob

Security Vulnerability Report

ID: FIRECRAWL-001
Severity: HIGH (CVSS 8.5)
CWE: CWE-918 (Server-Side Request Forgery)

Description

The firecrawl_crawl tool accepts any string as URL without proper URL validation (z.string() instead of z.string().url()). This allows SSRF attacks against internal services such as 169.254.169.254 metadata endpoints.

Vulnerability Details

  • The firecrawl_crawl tool uses z.string() for URL validation instead of z.string().url()
  • This inconsistency between scrape tool (which uses proper z.string().url()) and crawl tool allows arbitrary URL inputs
  • Attackers can exploit this to access internal services, cloud metadata endpoints

Proof of Concept

The vulnerability can be verified by comparing:

  • scrape tool: uses z.string().url() (secure)
  • crawl tool: uses z.string() (vulnerable)

A malicious input like http://169.254.169.254/latest/meta-data/ would be accepted by the vulnerable tool.

Recommended Fix

Change the URL validation in firecrawl_crawl from z.string() to z.string().url() to match the secure implementation in the scrape tool.


This is a coordinated security disclosure. Please handle appropriately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions