セキュリティニュース
工場・IoT で人気の Node-RED が狙われています(CVE-2026-58115)— ログインなしの設定のままだと、1回の通信で乗っ取り
ひとことで言うと
- 工場の機械やセンサー、社内のシステムを線でつなぐように組み合わせて動かす道具 Node-RED が狙われています。ログインを設定していない Node-RED に、ウイルスを入れる攻撃が確認されました。
- CVE 番号(CVE-2026-58115、CVSS 10.0)は、Siemens の IoT 機器「SIMATIC IoT2050 Advanced」に付いたものです。ただ、ログインなしで動かしている Node-RED なら、どれでも同じ手口で狙えます。
- Node-RED は初期設定ではログインなしです。「インストールしてそのまま」の Node-RED は要注意です。
- ログインの設定(adminAuth)と、ポート 1880 をインターネットに出さないことを、すぐに確かめてください。
この記事は 11月3日時点の情報です。
何が原因か
Node-RED は、画面の上で部品(ノード)を線でつないで、データの流れ(フロー)を作る道具です。工場の機械のデータを集めたり、センサーの値でメールを送ったりと、プログラムを書かずに仕組みを作れるため、工場や IoT で広く使われています。
Node-RED の公式の説明には、はっきりこう書かれています(日本語は意訳)。
初期設定では、Node-RED の編集画面は守られていません。その IP アドレスに届く人はだれでも編集画面を開き、変更を反映できます。信頼できるネットワークの中でだけ使ってください。
さらに初期設定では、すべての通信の入口(ポート 1880)で待ち受けます。そのため、ルーターやクラウドの設定しだいで、インターネットからそのまま届いてしまいます。
Node-RED には、OS の命令を実行する部品(exec ノード)もあります。ログインなしで編集できるということは、だれでも OS の命令を実行できるということです。
Siemens の SIMATIC IoT2050 Advanced では、Node-RED を入れたときにこのログインが有効になっていなかったため、Siemens が CVE 番号を付けて修正しました。Node-RED 本体のプログラムの欠陥ではなく、「設定」の問題です。
| 項目 | 内容 |
|---|---|
| CVE 番号 | CVE-2026-58115(Siemens SIMATIC IoT2050 Advanced) |
| 深刻度 | CVSS 10.0(最大) |
| 原因 | Node-RED の編集画面にログインが設定されていない |
| 攻撃の方法 | 1回の通信(POST /flows)で、命令を実行するフローを送り込む |
| 同じ危険がある範囲 | ログインを設定していない、すべての Node-RED |
何が起きたか
- 8月11日:Siemens が注意喚起(SSA-834709)と修正版(Industrial OS V4.3.4.1)を公開
- 10月27日:セキュリティ会社 VulnCheck が、この攻撃を見張るおとりのサーバーを用意
- 10月30日:おとりへの攻撃が成功。その後11月1日までに、同じ相手から15回
- 11月2〜3日:VulnCheck が報告し、海外のセキュリティ報道で広く伝わる
攻撃者は、フローを1つ送り込むだけでした。送り込まれたフローは、反映した1秒後に自動で動き、外部のサーバーから**ボット(遠隔操作されるウイルス)をダウンロードして実行します。さらに、あとから好きな命令を送れる裏口(Web シェル)**もフローとして仕込んでいました。
攻撃者は、Node-RED だけでなく、ほかの7種類のソフトの欠陥も手当たり次第に試していました。特定の会社を狙ったものではなく、ネットに出ているものを片っ端から狙う型の攻撃です。米 CISA の「悪用中」リストには、11月3日時点ではまだ入っていません。
関係ある!
CVE 番号は Siemens の機械に付いたが、攻撃の手口は「ログインなしの Node-RED に、フローを1つ送る」だけだ。どこの会社の Node-RED でも、ログインがなければ同じことになる。
工場の見える化、センサーの集計、Raspberry Pi での試作——「とりあえず Node-RED で作った」ものが、社内に残っていないか確かめろ!
どんな問題があるか
- 機械をつなぐ機器が乗っ取られる:Node-RED が動く機器で、好きな命令を実行されます。Siemens は「最大の権限で」実行されるおそれがあるとしています
- 工場のネットワークへの入口になる:Node-RED は、工場の機械(OT)と社内のネットワーク(IT)の間に置かれることが多い道具です。ここを足場に、工場の中へ入られるおそれがあります
- ボットの一員にされる:入れられたボットは、ほかの会社への攻撃などに使われます。自社が加害者側になることもあります
- 再起動しても裏口が残る:メモリの中のボットは再起動で消えますが、フローとして仕込まれた裏口は残ります
社内の Node-RED を見つけるには
Node-RED は、情報システム部門が知らないうちに置かれていることがよくあります。次のような場所を確かめましょう。
- 工場の見える化や、設備のデータ集めに使っている小さなパソコンや IoT 機器(ゲートウェイ)
- Raspberry Pi などで作った試作の仕組み
- 太陽光発電や蓄電池の監視の機器(Node-RED を内蔵している製品があります)
- クラウドの仮想マシンで、データの受け渡しのために立てたもの
ブラウザで「機器の IP アドレス:1880」を開いて、Node-RED の画面が出れば、そこで動いています。ログインを求められずに編集画面が出たら、すぐに対処が必要です。
臨時の対処(すぐできること)
- ポート 1880 をインターネットに出さない
ルーターやクラウドのファイアウォールで、Node-RED の入口(初期設定ではポート 1880)への外からの通信を止めます。これが一番早くて効く対策です。 - ログインが設定されているか確かめる
ブラウザで Node-RED の画面を開いたとき、ログインを求められずに編集画面が出たら危険です。 - 見覚えのないフローを探す
OS の命令を実行する exec ノードや、外からの通信を受ける http in ノードで、作った覚えのないものがないか確かめます。あれば、入られた可能性があります。 - 入られた疑いがあれば、作り直す
見覚えのないフローを消すだけでは足りません。/tmpや/dev/shmに知らないファイルがないかを確かめ、機器を初期化して作り直すのが安全です。
正しい対処
- Node-RED にログインを設定する(adminAuth)
設定ファイル(settings.js)のadminAuthで、利用者とパスワードを決めます。パスワードは、Node-RED の道具(node-red admin hash-pw)で暗号化した形で書きます。 - 外からの通信を受ける部分にも、ログインを付ける(httpNodeAuth)
フローで作った Web の入口(http in)も守ります。 - 編集が要らない本番機では、編集画面ごと止める
httpAdminRoot: falseにすると、編集のための入口がすべて閉じます。 - 待ち受ける場所を絞る
uiHostを127.0.0.1にすると、その機器の中からしか開けなくなります。外から使うなら、VPN を経由しましょう。 - Siemens SIMATIC IoT2050 Advanced は V4.3.4.1 以降に
手動での更新が必要です。
これを送れ!
「Node-RED を狙った攻撃(CVE-2026-58115)について確認させてください。弊社の工場や社内の仕組みで、Node-RED を使っているものはありますか。使っている場合、編集画面にログイン(adminAuth)が設定されているか、ポート 1880 がインターネットや社内の広い範囲から見えていないかを確認してください。あわせて、作った覚えのない exec ノードや http in ノードがないかも点検をお願いします。」
「試作のつもりで置いたまま」の Node-RED が一番危ない。台数と場所の一覧ももらっておけ!
まとめ
- 原因は、Node-RED のログインが初期設定でオフのまま使われていたこと。プログラムの欠陥ではなく設定の問題
- 1回の通信でボットを入れられる攻撃が、実際に起きている
- つなぎはポート 1880 を外に出さない・見覚えのないフローの点検、正しい対処は adminAuth の設定と、本番機では編集画面を止めること
- CVE は Siemens の機器だが、ログインなしの Node-RED はすべて同じ危険