Langflow OSSで遠隔のコード実行、IBMが修正を案内
IBMのLangflow OSS 1.0.0から1.12.3に、ネットワーク越しに任意のコードを実行される脆弱性が見つかりました。該当版を動かしている組織は、IBMの案内に沿って修正版へ更新してください。外部に公開しているインスタンスがあれば、更新の前に公開範囲を確認するのが先です。
急ぎ度: 早めに
CVSS v3は9.8で認証も利用者の操作も要らず、IBMが修正の案内を出していますが、実際の攻撃での悪用が確認されたかどうかは分かっていないため、公開環境を優先して早めの更新が妥当です。
関係があるか
Langflow OSSを自社のサーバーやクラウドで動かしている組織が対象です。とくに検証用に立てたまま外部から到達できる状態のものは、優先して確認してください。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| IBM Langflow OSS | 1.0.0から1.12.3まで | IBMの案内ページで示される修正版(版番号は案内で確認してください) |
確かめ方
- 1社内でLangflowを動かしているサーバー、コンテナ、検証環境を洗い出します。個人やチームが試用で立てたものも含めます。
- 2各インスタンスの版を確認し、1.0.0から1.12.3の範囲に入るかを見ます。画面上の版表示や、pipで導入した環境なら
pip show langflowで確認できます。 - 3該当する版があれば、そのインスタンスがインターネットや他部門のネットワークから到達できるかを、FW設定やリバースプロキシの設定で確認します。
何が起きたか
Langflow OSSに、外部の攻撃者がネットワーク越しにサーバー上で任意のコードを実行できる脆弱性が見つかりました。
原因は、OSコマンドの中で使う特殊な文字や記号の無害化が不十分なことです。入力に含まれた文字列が、そのままコマンドの一部として解釈される余地が生まれます。分類としてはCWE-94(コードインジェクション)が付いています。
CVSS v3は9.8で、重大度はcriticalです。影響を受けるのは1.0.0から1.12.3までのすべての版で、IBMが修正に関する案内ページを公開しています。
攻撃の流れ
-
1
到達できる
攻撃者が、Langflowのサーバーにネットワーク経由で接続できる位置にいます。
-
2
細工した入力
特殊な文字を含む入力が、無害化されないままOSコマンドの一部として扱われます。
-
3
コード実行
Langflowを動かしているサーバー上で、攻撃者が選んだ処理が実行されます。
-
4
情報の取得
サーバーに保存された接続情報やデータが読み取られ、改ざんされるおそれがあります。
-
5
内部へ拡大
取得した認証情報を足がかりに、社内の別のシステムへ広がる可能性があります。
どう悪用されるか
攻撃にログインは要りません。ネットワーク経由で送る入力だけで成立し、利用者が何かを開いたりクリックしたりする必要もありません。複雑な前提条件もないとされています。そのため、Langflowのサーバーに到達できる相手であれば、社外か社内かを問わず条件を満たします。
悪用されると、Langflowを動かしているサーバー上で攻撃者が任意のコードを実行できます。機密性、完全性、可用性のすべてに高い影響があり、保存されたデータの読み取りや書き換え、サービスの停止に及ぶ可能性があります。サーバーが他のシステムとつながっていれば、被害はLangflowの外にも広がりえます。
今すぐやること
-
1
該当する版を洗い出す
Langflowを動かしているすべての環境で版を確認し、1.0.0から1.12.3の範囲に入るものを一覧にします。
pip show langflow -
2
外部公開の有無を確認する
該当するインスタンスのうち、インターネットから到達できるものを先に特定します。更新までの順番はここで決めます。
-
3
修正版に更新する
IBMの案内ページに従い、公開環境から順に修正版へ更新します。コンテナで運用している場合はイメージも入れ替えます。
-
4
更新後の版を確認する
更新したインスタンスで、版が修正版になっていることを再確認します。
pip show langflow -
5
不審な動きがないかログを見る
公開していた期間のアクセスログと、サーバーの実行履歴に心当たりのない処理がないかを確認します。見つかった場合は、保存していた接続情報の再発行も検討します。
すぐ更新できないとき
すぐに更新できないときは、Langflowをインターネットに公開せず、社内の限られたネットワークからだけ到達できるようにします。リバースプロキシやVPNの背後に置き、アクセス元のIPアドレスを絞る方法もあります。いずれも根本的な修正ではないため、更新までの一時的な措置にとどめてください。
背景
Langflowは、画面上で部品をつないでLLMを使ったアプリやエージェントを組み立てるオープンソースのツールです。社内では、外部LLMのAPIキーや社内データベース、文書ストアへの接続情報を設定として持つことが多く、サーバーを奪われたときの影響は、Langflow単体の範囲にとどまりません。
試作や検証のために手軽に立てられるぶん、本番と同じ管理が及ばないまま外部から到達できる状態で動いていることもあります。Langflowでは、過去にも認証なしでコードを実行できる脆弱性が見つかり、実際の攻撃で悪用された例があります。公開されたインスタンスは、見つかりしだい狙われる前提で扱うほうが安全です。
よくある質問
Q.更新したら、LLMのAPIキーやデータベースのパスワードも変えるべきですか。
まだ分かっていないこと
- 実際の攻撃で悪用されているかどうかは、分かっていません。
- 修正版の具体的な版番号や、攻撃の入口となる機能の詳細は分かっていません。IBMの案内ページで確認してください。
- IBMの案内の題は複数の脆弱性に触れていますが、同時に修正されるほかの脆弱性の内容は分かっていません。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| IBM | Langflow OSS |
1.0.0 〜 1.12.3 |
— |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
IBM Langflow OSS 1.0.0 through 1.12.3 could allow a remote attacker to execute arbitrary code due to improper neutralization of special elements used in an OS command.
出典: CVE.org (CVE Program・cvelistV5) NVD
参照URL
- web psirt@us.ibm.com