本文へ移動
情シスのミカタ
ニュース約3分で読めます

body-parserに欠陥 1回の要求でNode.jsのアプリが止まる恐れ

Node.jsのWebの仕組みExpressで広く使う部品body-parserに、圧縮した本文の後ろに余分なデータを付けた1回の要求で、アプリが止まる欠陥(CVE-2026-111181、CVSS 3.1で7.5)が見つかりました。1.20.9と2.4.0で直っています。依存の確かめ方を整理します。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
body-parserに欠陥 1回の要求でNode.jsのアプリが止まる恐れ

この記事のまとめ

  • Node.jsで送られてきた本文を読む部品body-parserに、1回の要求でアプリの処理が落ちる欠陥(CVE-2026-111181、High)が見つかりました。既定の設定のままで当たり、認証も要りません。
  • 直った版は1.20.9と2.4.0で、10月22日(協定世界時)に出ました。Expressのjson()やurlencoded()も、この部品を使います。
  • Express 4.22.3と5.3.0の依存の範囲には直った版も入るため、依存を入れ直せば直ります。ロックファイルの版で確かめます。
こんな方に#20代#30代#40代#50代実務

Node.jsのWebの仕組み「Express」で広く使われる部品「body-parser」に、1回の要求でアプリが止まる欠陥(CVE-2026-111181)が見つかりました。送られてきた本文を読む部品で、既定の設定のままで当たり、認証も要りません。GitHubの勧告のデータベースには、日本時間の10月24日に載りました。

直った版の1.20.9と2.4.0は、10月22日(協定世界時)に出ています。

勧告で分かったこと

図解。題はbody-parserの停止の欠陥、どの版に上げるか。CVE-2026-111181は深刻度High、CVSS 3.1で7.5。圧縮した本文のあとに余分なバイトを付けた1回の要求でアプリが止まる。1系(Express 4)はbody-parser 1.20.9(10月22日)で直り、対象は1.20.9より前、Express 4.22.3の指定は~1.20.5で1.20.9も範囲に入る。2系(Express 5)はbody-parser 2.4.0(10月22日)で直り、対象は2.0.0以上2.4.0未満、Express 5.3.0の指定は^2.3.0で2.4.0も範囲に入る。どちらも依存を入れ直してロックファイルで版を確かめる。条件は既定の設定のままで当たり、認証は要らない。起きることは処理が落ちる。上げるまではinflate: falseで圧縮の本文を断る。まとめは1系は1.20.9以降、2系は2.4.0以降に、Expressを上げなくても依存の範囲の中で直った版が入る
body-parserの直った版と、Expressの依存の範囲作成: 編集部 / もとの資料: GitHub Advisory Database(GHSA-27r3-jxmh-p828)、body-parserのリリース、npm
項目 勧告の内容
起きること gzipなどで圧縮した本文の後ろに余分なバイトを付けると、展開の部品が誤りを出し、捕まえられずにアプリの処理が終わる
条件 既定の設定のbody-parserを使うアプリ。経路の振り分けの前に本文を読むため、認証も、当たる経路も要らない
深刻度 High(CVSS 3.1で7.5)
対象 1.20.9より前、2.0.0以上2.4.0未満
直った版 1.20.9、2.4.0
回避策 圧縮した本文を受け付けないなら、inflate: falseを渡す

勧告によると、要求そのものには普通に応答したあとで、処理が落ちます。アプリを自動で起こし直す仕組みがあっても、同じ要求を繰り返されると、止まったり動いたりを繰り返すことになります(当社の見立て)。

Expressを上げなくても直る

npmの記録では、Expressの最新の版は、次のようにbody-parserを指定しています。

Expressの版 body-parserの指定 直った版が範囲に入るか
4.22.3(4系の最新) ~1.20.5 入る(1.20.9)
5.3.0(5系の最新) ^2.3.0 入る(2.4.0)

指定の範囲に直った版が入るため、Expressの新しい版を待たなくても、依存を入れ直せば直った版が入ります。ただし、ロックファイル(package-lock.jsonなど)で古い版に固定されていると、そのままでは変わりません。

影響する会社・しない会社

  • 影響する: Node.jsとExpressで、社外に公開するWebのアプリやAPIを動かしている会社です。1回の要求で止められる恐れがあります。
  • 影響する: 委託先が作ったNode.jsのアプリや、Node.jsで動く製品を使っている会社です。中にbody-parserが入っているかを確かめます。
  • 影響しない(勧告の範囲では): body-parserを使っていない仕組みです。

情シスが今日やること

  1. 入っている版を確かめる。 開発の担当に、Node.jsのアプリごとに npm ls body-parser などで、body-parserの版を出してもらいます。1系は1.20.9、2系は2.4.0より前なら当たります。
  2. 依存を入れ直す。 ロックファイルを更新して、直った版を入れ、試してから出します。Expressを上げる必要は、多くの場合ありません。
  3. すぐ上げられないなら止める。 圧縮した本文を受け付ける必要が無いアプリは、inflate: falseを設定します。
  4. 委託先と製品にも聞く。 委託先が運用するアプリや、Node.jsで動く製品のメーカーに、直った版への切り替えの予定を聞きます(当社の見立て)。

よくある質問

QExpressを使っているだけでも当たりますか。

AExpressの本文の読み込み(express.json()など)は、body-parserを使います。npmの記録では、Express 4.22.3はbody-parser ~1.20.5、5.3.0は^2.3.0を指定していて、どちらも直った版(1.20.9、2.4.0)が範囲に入ります。実際に入っている版は、ロックファイルで確かめます。

Qすぐ上げられないときは。

A勧告は、圧縮した本文を受け付ける必要が無いなら、body-parserにinflate: falseを渡すよう案内しています。圧縮された要求を、展開の前に断るようになります。

Q情報が漏れる欠陥ですか。

A勧告は、処理が落ちる(サービスの停止)欠陥としています。情報の漏えいは挙げられていません。

出典・参考

チェック済み。この記事は監修者によってチェックされました。(2026年10月24日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(解説)

法令・官公庁の発表・企業の公式発表などの一次情報を調べて、情シス向けの解説・比較・テンプレの記事を書きます。数字と日付は出典と照らして確かめ、記事の最後に出典を載せています。使っているAI: Anthropic Claude。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が一次情報を調べて書き、機械の検査を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします