結論
サーバーでJavaScriptを動かす仕組み「Node.js」が、2026年10月21日に脆弱性10件を修正した版(v22.23.4/v24.22.1/v26.12.1)を公開しました。最も高い深刻度は「High」で、細工した圧縮データでプログラムを実行されうる欠陥や、通信相手の証明書の確認をすり抜けられる欠陥が含まれます。
ホテルが押さえる点は3つです。
- 自社開発のアプリや予約サイトがNode.jsで動いていれば、制作会社に修正版への更新を依頼する
- Node.js 20以前は2026年4月30日にサポートが終わっており、修正版が出ない。使っていれば版の移行が必要
- SaaSの裏側で使われている分は提供会社が直す。同じ日に出たPHPの件とあわせて確認すれば足りる
はじめに
10月21日はPHPの「緊急」レベルの脆弱性(php2shell)の修正版も出た日で、そちらは国内で200を超える組織がサービス停止や緊急メンテナンスに踏み切る騒ぎになりました(PHPの重大な脆弱性php2shell:ホテルが今週やることと各システムの対応状況)。同じ日に出たNode.jsの修正は、それに比べて話題になっていません。
ただ、Node.jsはホテルが外部に委託して作った予約サイトやアプリ、LINE連携などで使われていることがあり、気づかないまま古い版が残りやすい技術です。本記事では、Node.js公式の発表をもとに修正の中身を整理し、自社開発のものとSaaSのものに分けて、ホテルの対応フローをまとめます。
Node.jsとは何か、ホテルのどこで使われるか
Node.jsは、Webブラウザの外、つまりサーバー上でJavaScriptのプログラムを動かすための仕組みです。PHPがWordPressの土台として多くのホテルの公式サイトを支えているのに対し、Node.jsは次のような「作り込んだシステム」で使われることが多い技術です。
- 制作会社に開発を委託した予約サイト、会員サイト、スマートフォンアプリのサーバー側
- LINE公式アカウントの自動応答やチャットボット
- PMSや予約データを集計する社内ツール、システム間をつなぐ連携プログラム
- 予約エンジンやサイトコントローラーなど、SaaSの裏側
どのシステムがNode.jsで動いているかは、ホテル側で見分ける必要はありません。制作会社や提供会社に「Node.jsを使っているか」を聞けば分かります。
今回修正された脆弱性
修正は10件で、深刻度の内訳はHigh 4件・Medium 3件・Low 3件です。Highの4件は次のとおりです(Node.js公式)。
| 番号 | 内容 |
|---|---|
| CVE-2026-111497 | Brotli(圧縮形式)の展開処理の欠陥。細工したデータでプログラムを実行されうる |
| CVE-2026-105483 | 全角数字で書かれたIPアドレスで、TLS証明書のホスト名の確認をすり抜けられる |
| CVE-2026-106069 | IPアドレスとして解釈されうるホスト名で、TLS証明書のホスト名の確認をすり抜けられる |
| CVE-2026-105482 | 名前解決(dns.resolve)が、途中に特殊な文字を含む名前を切り詰めてしまう |
TLS証明書の確認をすり抜けられると、決済や外部サービスとの通信で、なりすました相手につながってしまうおそれがあります。公式発表には、悪用の有無についての記載はありません。
修正版とサポートの状況
| 系列 | 状況(2026年10月) | 修正版 |
|---|---|---|
| 26.x | 最新版。10月28日から長期サポート(LTS)に移行 | v26.12.1 |
| 24.x | LTS(10月20日から保守期間。2028年4月30日まで) | v24.22.1 |
| 22.x | LTSの保守期間(2027年4月30日まで) | v22.23.4 |
| 20.x以前 | サポート終了(20.xは2026年4月30日) | なし |
Node.js公式は、サポートが終わった版は「セキュリティリリースのたびに常に影響を受ける」としています(リリース計画)。20.x以前で動いているシステムは、今回だけでなく今後の修正も受けられません。
PHPの件との違い
| PHP(php2shell) | Node.js | |
|---|---|---|
| 深刻度 | 「緊急」(CVSS 9.2)2件 | 最高で「High」、計10件 |
| 悪用 | 攻撃の試みが観測されている | 公式発表に記載なし |
| 主な使われ方 | WordPressなどの公式サイト | 自社開発のアプリ、連携プログラム、SaaSの裏側 |
| 急ぎ度 | 自社のものは今日中に依頼 | 今週中に確認・依頼 |
自社開発のものとSaaSで、対応が分かれる
PHPのときと同じく、決め手は誰が直す契約になっているかです。ホテルが制作会社に開発を委託して持っているシステムは、ホテルから依頼しない限り誰も直しません。利用料を払って使うSaaSは、提供会社が直します。
自社開発のものの対応フロー
- 洗い出す(今週中):委託して作った予約サイト、会員サイト、アプリ、LINE連携、社内ツールを書き出し、それぞれの制作会社・保守会社を確かめる
- Node.jsの使用と版を聞く(今週中):Node.jsを使っているか、使っていればどの版かを制作会社に聞く
- 更新を依頼する:22.x・24.x・26.xなら、それぞれv22.23.4/v24.22.1/v26.12.1以降へ。20.x以前なら、22.x以降への移行を依頼する(移行は動作確認が要るので、日程と費用も聞く)
- 完了を確かめる:更新後の版の番号と、本番環境に反映した日時を報告してもらう。Node.jsのアプリは、入れ替えたあと再起動や再配置(デプロイ)をしないと古い版のまま動き続ける
- 記録する:依頼日・完了日・版の番号を残す。保守契約に「Node.jsやPHPのセキュリティ更新」が含まれているかも、この機会に確かめる
SaaSのものの対応フロー
- PHPの問い合わせとまとめる:予約エンジン、サイトコントローラー、クラウドPMSなどの提供会社へ、PHPの件と一緒にNode.jsの対応状況も聞く
- 回答を記録する:「使っていない」「更新済み」「対応中(完了予定日)」のどれかを控える
- 期限までに回答がなければ催促する:予約や顧客情報を預けているサービスほど、返事待ちのまま放置しない
問い合わせ文例
自社開発のものを委託している制作会社・保守会社向けの文例です。SaaSの提供会社には、PHPの記事の文例にNode.jsの1行を足したもので足ります。
件名:Node.jsの脆弱性(2026年10月21日公開の修正)への対応状況のご確認 〇〇株式会社 ご担当者様 いつもお世話になっております。〇〇ホテルの〇〇です。 10月21日にNode.jsの脆弱性を修正した版(v22.23.4/v24.22.1/v26.12.1)が 公開されたことについて、以下をお知らせください。 1. 弊社向けに開発いただいた〇〇(システム名)でNode.jsを使っていますか 2. 使っている場合、現在の版と、修正版への更新の予定・完了日時 3. Node.js 20以前の場合、22以降への移行に必要な作業・日程・費用 4. 保守契約にNode.jsのセキュリティ更新が含まれているか お手数ですが、〇月〇日までにご回答いただけますと幸いです。
デメリット・リスク
- 版の移行には費用と日数がかかる:20.x以前から22.x以降へ移ると、プログラムの一部を直す必要が出ることがあります。見積もりを取り、予約の繁忙期を避けて日程を組みましょう
- 保守契約の範囲外のことがある:開発だけを委託し、保守契約を結んでいないシステムは、更新が誰の仕事か決まっていません。今回の確認で浮かび上がったら、契約を見直す機会です
- 便乗した詐欺:「脆弱性対応のため」と称してログインや支払いを求める連絡は、取引先を名乗っていても疑ってください(ホテルを名乗る偽メールへの対応は予約詐欺メールに宿が返す4つの答え)
- 侵入されていた場合:更新前に不正アクセスの形跡が見つかったときの初動は、ホテルのセキュリティSOPと初動対応を参考にしてください
まとめ
- Node.jsは2026年10月21日に、Highを含む脆弱性10件を修正した版(v22.23.4/v24.22.1/v26.12.1)を出した
- Node.js 20以前はサポートが終わっていて修正版がない。使っていれば移行が必要
- 自社開発のアプリや予約サイトは、制作会社に版を聞き、更新と完了の報告まで見届ける
- SaaSの分は提供会社が直す。PHPの件とまとめて問い合わせ、回答を記録する
よくある質問(FAQ)
Q1. 自社のシステムがNode.jsを使っているか、どうすれば分かりますか?
ホテル側で調べる必要はありません。開発を委託した制作会社や、システムの保守会社に「Node.jsを使っているか、どの版か」を聞けば分かります。
Q2. WordPressの公式サイトしかありません。関係ありますか?
WordPressはPHPで動くので、今回のNode.jsの件とは基本的に関係しません。ただしPHPの重大な脆弱性への対応は必要です。
Q3. PHPの件と比べて、どのくらい急ぐべきですか?
PHPは攻撃の試みが観測されており、自社のサーバーは今日中の依頼が目安です。Node.jsは公式発表に悪用の記載がなく、今週中に確認・依頼すれば足ります。
Q4. Node.js 20を使っています。何が問題ですか?
20.xは2026年4月30日でサポートが終わり、今回の修正版が出ていません。今後見つかる脆弱性も直らないので、22.x以降(できれば24.x)への移行を制作会社と計画してください。
Q5. SaaSの提供会社には何を聞けばいいですか?
Node.jsを使っているか、使っていれば修正版への更新が済んだかを聞きます。PHPの件と同じ問い合わせにまとめると、双方の手間が減ります。
Q6. 修正版に更新すれば、それで終わりですか?
更新後に再起動や再配置まで済んでいることを確かめてください。あわせて、保守契約に今後のセキュリティ更新が含まれているかも確認しておくと、次の脆弱性のときに慌てずに済みます。
出典:Node.js「October 2026 Security Releases」(2026年10月21日)、Node.js Release Working Group「Release schedule」(github.com/nodejs/release、2026年10月22日確認)


コメント