Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[C++] Bundled Brotli 1.0.9 is affected by CVE-2026-111497 (decoder out-of-bounds write)

クローズ 初心者向け
#55,166 コメント 2 件 リアクション 8 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
75/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
cpp
領域
backend, security

調査の方向性

まず cpp/thirdparty/versions.txt の Brotli の固定バージョンを確認し、同梱されているデコーダーのヘッダーを upstream の修正コミット 0ed4268a4401abcb4472096340477cf4af7d1a2b と照合してください。同梱バージョンを v1.2.1 に更新するか、修正を適用してから、関連する Brotli および Parquet または IPC のテストを実行してください。同梱デコーダーに、記載されたエラー定義を含む修正が反映され、影響を受ける圧縮ファイルが安全に処理されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

CVE-2026-111497 is an out-of-bounds write in the Brotli C decoder (c/dec/decode.c, versions 1.0.3 through 1.2.0). A crafted stream can request an impossible block switch, which the decoder mistakes for "needs more input". It then writes past the end of an internal 8-byte buffer. GitHub rates it 9.2 (CVSS 4.0), and Node.js shipped fixes for it on 2026-10-21.

cpp/thirdparty/versions.txt pins ARROW_BROTLI_BUILD_VERSION=v1.0.9, and that version is used whenever Brotli is built as a bundled dependency. In those builds, reading a Parquet or IPC file that contains Brotli-compressed data passes the file's contents to the decoder, so a crafted file can trigger the bug. Builds that link a patched system Brotli aren't affected.

Upstream fixed this in Brotli 1.0.10, 1.1.1 and 1.2.1 (fix commit). Updating the bundled copy to v1.2.1, or applying that commit, resolves it. A patched copy is easy to recognise: its decode.h defines BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH (-17).

References:

主要言語
C++
スター
17.2k
フォーク
4.4k
平均マージ
3日 5時間
マージ済み PR(30日)
76

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

apache/arrow のほかの issue

apache/arrow の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。