WORK.SIGNALALL SIGNALS
/ 仕事 / DEEP DIVE

Node.jsだけじゃない。Bunにも重大なBrotli脆弱性、v1.4.4への更新を

92 / 100SIGNAL DEEP DIVE仕事更新:約4分で読める

Bun 1.4.4がBrotliのメモリ破壊問題に加え、漏洩した認証局秘密鍵に関するTLS証明書検証問題にも対応。サーバー・開発環境での確認事項を整理する。

30秒でわかる / THE SIGNAL

Bunのv1.4.4でBrotliの脆弱性CVE-2026-111497への対応が行われた。攻撃者が細工した圧縮データをアプリが展開すると、メモリ破壊やサービス停止、条件によってはコード実行につながり得る。Bunの利用箇所と実行バージョンを確認し、v1.4.4以降へ更新したい。

何が起きた? Node.jsで報告された問題がBunにも

JavaScript・TypeScriptの実行環境Bunは2026年10月22日、v1.4.4を公開した。リリースにはTLS、WebSocket、データベースクライアント、パッケージ管理など複数のセキュリティ修正が含まれ、Brotliライブラリも更新された。

BrotliはWeb通信などで使われる圧縮方式。今回のCVE-2026-111497は、細工された圧縮データを展開する際に、デコーダーが想定外のメモリ領域を書き換える恐れがある問題だ。Node.jsでは10月21日に修正版が公開されているが、Bunでも同じライブラリの影響が指摘されていた。

影響バージョンと深刻度

Bunの修正版はv1.4.4。v1.4.3以前を使用している環境では更新を検討したい。対象のCVE-2026-111497はNode.js公式でHighと評価されている。一方、共通のBrotliライブラリに対するGitHub Advisory DatabaseではCVSS v4.0が9.2(Critical)とされており、評価主体と対象が異なる点に注意が必要だ。

Bunに組み込まれたBrotliデコーダーは、外部サーバーからのBrotli圧縮レスポンスを受けるfetch()や、node:zlib互換APIなどから利用され得る。Bunを導入しているだけで必ず外部から任意コードを実行されるわけではなく、攻撃者が制御できる圧縮データを処理するかどうかが重要になる。

企業の担当者が確認すべき3点

第一に、Bunをどこで使っているか確認する。Webサーバーだけでなく、API、バッチ処理、CI/CD、開発用コンテナも対象だ。実行中のバージョンは「bun --version」で確認できる。

第二に、外部から取得したBrotli圧縮データや、ユーザーから送られる圧縮リクエストを処理する箇所を洗い出す。攻撃条件は構成に依存するため、保守会社や開発担当者と確認したい。

第三に、Bun v1.4.4以降へ更新し、動作テストを実施する。公式案内の「bun upgrade」で更新できる。コンテナ運用では修正版イメージから再ビルドして再デプロイし、実際に稼働するプロセスのバージョンまで確認する。

Node.jsの修正とは何が違う?

脆弱性の根本にあるのは共通のBrotliデコーダーだが、Node.jsとBunは別の実行環境で、更新すべきパッケージも異なる。Node.jsの公式修正版は22.23.4、24.22.1、26.12.1。一方、Bun利用者はBun自体をv1.4.4以降に更新する必要がある。

Node.jsを更新したからBunも修正された、あるいはBunを更新したからNode.jsも修正された、という関係ではない。複数のJavaScript実行環境を使い分けている組織は、それぞれのバージョンを確認したい。

悪用状況と情報の読み方

公開された情報には研究環境での実証や攻撃手法の検討が含まれるが、それを直ちにBunへの実環境攻撃が確認されたことと同一視してはいけない。今回参照したBun公式リリースから、Bunに対する実際の悪用事例は確認できない。

対策の優先順位は、外部由来の圧縮データを処理するサーバーを高く設定しつつ、他のBun利用環境も順次更新することが妥当だ。更新が難しい場合の通信制限は露出を減らす可能性があるものの、外部サービスから取得する圧縮レスポンスまでは防げないため、修正版の適用を基本とする。

Bun公式リリース:https://bun.com/blog/bun-v1.4.4

Bun側の問題報告:https://github.com/oven-sh/bun/issues/46352

Node.js公式アドバイザリ:https://nodejs.org/en/blog/vulnerability/october-2026-security-releases

BrotliのGitHub Advisory:https://github.com/advisories/GHSA-9v8h-qqgm-4m35

追加情報|BunのTLS証明書検証にも影響する認証局問題

Bun開発元は、信頼済み認証局の秘密鍵が漏洩した問題について、セキュリティアドバイザリGHSA-26q8-h657-pf84を公開した。Brotliデコーダーとは別の脆弱性であり、影響するのはBun 1.4.4未満、修正版は同じく1.4.4。開発元の評価はHigh。

攻撃者が通信経路を操作できる場合、漏洩した秘密鍵を悪用して正規サイトになりすますTLS証明書を提示し、HTTPS通信の信頼性を損なう恐れがある。Bunのfetch()だけでなく、bun installやbunxによるパッケージ取得にも関係するため、開発・ビルド環境も確認対象となる。

対策はBun 1.4.4以降への更新。bun build --compileで生成した単体実行ファイルも、修正版を使って再ビルド・再配布する。秘密鍵の漏洩が確認されたことと、Bun利用者への実際の攻撃が確認されたことは別であり、今回参照したアドバイザリから実環境での悪用は断定できない。

Bun公式セキュリティアドバイザリ:https://github.com/oven-sh/bun/security/advisories/GHSA-26q8-h657-pf84

TRANSMISSION / AFTER THE SIGNAL

読んだ、その先へ。

気になった変化を共有して、次のシグナルへ。

SHARE THIS SIGNAL

BACK TO THE INDEX / FIND THE NEXT SIGNALALL SIGNALS