Replicate CogにSSRF脆弱性、修正版は未確認
Replicate Cogの0.23.1以前に、入力に指定されたURL経由でサーバーが内部ネットワークへリクエストを送ってしまう脆弱性があります。Cogで推論APIを公開している組織は、版を確認し、内部宛ての送信を遮断してください。
急ぎ度: 早めに
CVSS v3は9.3(v4は7.8)で、検証コードが公開されている一方、KEV掲載などの悪用の確認は示されておらず、修正版の番号も出ていないため、公開範囲の見直しと送信先の遮断を先に進める段階です。
関係があるか
Cogで機械学習モデルを推論APIとして動かし、cog.Fileまたはcog.Pathの入力を外部の利用者から受け付けている組織が対象です。クラウド上で動かしている場合は、メタデータ用のアドレスに届くかどうかで被害の大きさが変わります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| Replicate Cog(Python package / SDK) | 0.23.1以前のすべての版 | 修正版の番号は示されていません。修正を取り込むプルリクエスト(#3225)が出ています |
確かめ方
- 1Cogを入れた環境やコンテナイメージで版を確認し、0.23.1以前なら対象です。
- 2自社のpredictor(predict.pyなど)で、入力の型にcog.Fileまたはcog.Pathを使っているか確認します。
- 3その推論APIに、社外や信頼できない利用者が入力を送れるかを確認します。
- 4Cogの実行環境から、loopback・プライベートアドレス・クラウドのメタデータ用アドレスに通信が届くかを、ネットワーク設定で確認します。
何が起きたか
Replicate Cogの推論サービスは、ファイル入力にURLを指定されると、そのURLをサーバー側で取得します。この取得先が妥当かどうかを確認していないため、外部の人が入力に細工したURLを渡すと、Cogのプロセスが内部のサービスへリクエストを送ってしまいます。内部の通信先から情報が返れば、社内向けサービスの内容や認証情報が漏れるおそれがあります。
問題があるのは、predictorの入力に使うcog.Fileとcog.Pathです。Cogはhttp://かhttps://で始まるかどうかしか見ておらず、名前解決したあとのホストやIPアドレスは検査しません。取得にはリダイレクトをそのまま追う標準の挙動が使われるため、外部に見えるURLから内部の宛先へ転送される場合も、再検査されません。
報告者の技術解説と検証コードはGitHubで公開されています。
攻撃の流れ
-
1
URLを入力に指定
cog.Fileまたはcog.Pathの入力に、細工したURLを入れて推論リクエストを送ります。
-
2
宛先を検査せず受理
CogはhttpかhttpsのURLかどうかだけを見て、取得先のホストやIPは検査しません。
-
3
サーバー側で取得
Cogのプロセスが、自身のネットワーク上の位置からURLにリクエストを送ります。
-
4
内部宛先へ到達
直接指定やリダイレクトで、loopbackや社内ネットワーク、メタデータ用アドレスに届きます。
どう悪用されるか
ネットワーク越しに、推論リクエストの入力としてURLを送れる立場の人が悪用できます。CVE記録のCVSS v3ベクターでは、認証も利用者の操作も不要とされています。一方、報告者は低い権限が必要という前提で8.6と評価しており、実際に必要な条件は、推論APIをどこまで公開しているかによって変わります。
悪用されると、Cogを動かしているサーバーを経由して、外部から直接届かない内部のHTTPサービスに到達されます。想定されている宛先は、127.0.0.1などのloopback、プライベートネットワーク、リンクローカル、クラウドのメタデータ用アドレス(169.254.169.254)です。機密性への影響が大きく、完全性への影響は小さいと評価されています。
今すぐやること
-
1
Cogの版を確認する
本番とステージングの実行環境、およびコンテナイメージでCogの版を調べ、0.23.1以前のものを洗い出します。
pip show cog -
2
推論APIの公開範囲を見直す
cog.Fileやcog.Pathの入力を受ける推論APIに、信頼できない利用者が届くかを確認します。認証なしで公開しているものは、社内や許可した相手に限定します。
-
3
修正の状況を確認し、出たら更新する
Cogのリリースノートと、GitHubのアドバイザリ(GHSA-h5cc-4jr5-gjxg)で修正版の有無を確認します。修正のプルリクエスト(#3225)は、宛先のIPを検証し、リダイレクトを拒否する内容です。ただし、Linuxでのサービス全体の検証は未了と記されているため、修正版に更新したあとも、自環境でURL入力まわりの動作を試験します。
-
4
侵害の跡を調べる
Cogの実行環境から内部アドレスやメタデータ用アドレスへ出た通信がないか、アクセスログとネットワークログを確認します。入力にURLが含まれる不審なリクエストがあれば、その環境のクラウド認証情報を無効にして再発行することを検討します。
修正版がないあいだのつなぎ
修正版を適用できるまでは、Cogの実行環境からloopback、プライベートアドレス、リンクローカル、169.254.169.254への送信を、ファイアウォールやセキュリティグループで遮断します。リダイレクトで内部に転送される場合も、ネットワーク側で止められます。あわせて、推論APIの手前で、URLによるファイル入力を拒否するか、許可した取得先に限定する方法も取れます。
背景
Cogは、機械学習モデルをコンテナにまとめ、HTTPの推論APIとして動かすためのオープンソースのツールです。開発者はpredictorに入力の型を書き、cog.Fileやcog.Pathを使うと、画像や音声などを受け取れます。URLを渡せば取得まで任せられる便利さが、今回の入り口になりました。
SSRFは、サーバーを踏み台にして、外から届かない内部の通信先へ到達する脆弱性です。モデルを動かすサーバーはクラウド上に置かれ、ストレージやほかのサービスへの権限を持つことが多いため、メタデータ用アドレスに届くかどうかが被害を左右します。
よくある質問
Q.cog.Fileやcog.Pathを使っていなければ、影響はありませんか。
Q.社内だけで使うCogにも対応が必要ですか。
まだ分かっていないこと
- 修正版の番号とリリース時期は示されていません。
- 実際の攻撃で悪用された例は示されていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| replicatecog |
0.23.1 以前→ 記載なし |
記載なし |
この記録には修正版の版が載っていません。修正版の有無と版は、本文か参照URLのベンダーの勧告で確かめてください。
ディストリビューション別の修正状況
各ディストリビューションが公開している、この CVE の記録です。修正版は配布版ごとに違うので、リンク先で確かめてください。
- Ubuntu UBUNTU-CVE-2026-56712 cog この記録に修正版の記載なし
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Replicate Cog through 0.23.1 contains a server-side request forgery vulnerability that allows attackers to cause the Cog process to make server-side HTTP requests by submitting prediction inputs with attacker-controlled URLs that are not validated against the resolved destination host or IP before fetching. Attackers can supply malicious URLs or exploit HTTP redirects in cog.File and cog.Path predictor inputs to force requests to internal addresses, potentially exposing sensitive internal services or credentials.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web disclosure@vulncheck.com
- web disclosure@vulncheck.com
- web disclosure@vulncheck.com
- web nvd.nist.gov
- web github.com