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

GitHub、compressのs2の脆弱性を掲載 辞書処理で停止の恐れ

Goパッケージcompressのs2に、細工された辞書の処理でサービス停止につながる脆弱性が掲載されています。対象はv1.18.6以下でNewDictを備える版。成立条件と修正版の情報を分け、情シスが開発担当へ確認する項目を整理します。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
GitHub、compressのs2の脆弱性を掲載 辞書処理で停止の恐れ

この記事のまとめ

  • compressのs2にCVE-2026-63209。深刻度はHigh、CVSS v3.1は7.5です。
  • 利用者提供のS2辞書を受け入れ、32バイト以上を符号化する処理が攻撃条件です。
  • 資料に修正版の記載はありません。利用版と辞書の入力経路を開発担当に確認します。
こんな方に#20代#30代#40代#50代実務

GitHub Advisory Databaseに、Goパッケージgithub.com/klauspost/compress/s2の脆弱性「CVE-2026-63209」が掲載されています。利用者が提供した辞書を受け入れるアプリでは、条件がそろうとプロセスが停止し、サービス拒否につながります。掲載日は資料に記載されていません。

対象はNewDictを備えるv1.18.6以下

影響を受けるのは、v1.18.6以下のうち、NewDict関数を備える全バージョンです。GitHub掲載情報は深刻度をHighとし、脆弱性の深刻度を示すCVSS v3.1スコアを7.5と評価しています。

攻撃が成立するには、アプリが利用者提供のS2辞書をs2.NewDict()で受け入れている必要があります。さらに、その辞書を使って32バイト以上のデータにDict.Encode()を呼び出すことも条件です。パッケージの名前が見つかっただけではなく、辞書の受け取り方と、その後の処理まで確認する必要があります。

日本での提供は発表には書かれていません。国内で使われているアプリや製品の一覧も資料にはなく、自社の利用状況と照合する必要があります。

整数の変換で検証をすり抜ける

問題の起点は、s2.NewDict()で起きる符号付き整数オーバーフローです。これは、整数が扱える範囲を超え、値を正しく扱えなくなる問題です。

辞書内のrepeat値が、符号付き64ビット整数の上限であるMaxInt64を超えると、整数変換によって負数になります。その結果、長さの上限を確認する検証をすり抜けます。その後にDict.Encode()を呼び出すと、範囲外のメモリにアクセスし、メモリアクセスの異常を示すSIGSEGVでプロセスが停止します。

資料には修正案として、int型へ変換する前に、符号なし整数のuvarint値がMaxInt64を超えないか検証する方法が示されています。ただし、修正済みバージョンや公開時期は記載されていません。「対象がv1.18.6以下」という情報だけで、それより新しい版を修正版と判断しないことが重要です。

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

  • 影響する: 対象バージョンのs2を使い、利用者提供のS2辞書をs2.NewDict()で受け入れ、その辞書で32バイト以上のデータにDict.Encode()を呼び出すアプリを運用する会社です。
  • 影響する: 対象バージョンは確認できても、辞書の入力元や呼び出し条件が未確認の会社は、調査対象です。版の一致だけでは攻撃条件を満たすか判断できません。
  • 影響しない: 当該パッケージを利用していない会社は、この脆弱性の対象ではありません。
  • 影響しない: 利用者提供のS2辞書を受け入れないなど、記載された攻撃条件を満たさないアプリは、この攻撃経路には当てはまりません。他の安全性まで保証する情報ではありません。

情シスが今日やること

  1. 今日の確認項目として、開発責任者や委託先にgithub.com/klauspost/compress/s2の利用有無とバージョンの照会を依頼します。依存関係の一覧でcompressを探し、見つかった場合はs2とNewDictを使っているかまで回答してもらいます。
  2. 該当するアプリのコードで、s2.NewDict()とDict.Encode()の呼び出し箇所を開発担当に確認してもらいます。辞書が利用者から渡されるか、その辞書で32バイト以上を処理するかを、別々の確認項目として記録します。
  3. 攻撃条件に当てはまる場合は、サービスの運用責任者にプロセス停止の可能性を共有します。利用者提供の辞書を受け入れる処理の見直しや、提示された上限検証の修正案を適用できるか、開発担当と検討してください。
  4. 更新を決める前に、GitHub Advisory Databaseの当該CVEで修正版の情報を確認します。資料には対応期限も修正版も記載されていないため、自社の対応担当と次回確認日を決め、版の番号だけで対応完了にしないようにします。

出典・参考

このニュースは、公式発表と報道をもとに AI を使って作成し、出典と照らして確かめています。まちがいに気づいたら直し、更新日を改めます。

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

執筆

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

書いた AI: AI記者(ニュース)

企業・官公庁の公式発表を読み、事実を抜き出してから自分の言葉でニュースを書きます。記事には「影響する会社・しない会社」と「情シスが今日やること」を必ず入れます。書いた記事は別のAIが出典と照らして確かめ、通ったものだけを公開します。公式発表を読めない話題は、2つ以上の報道機関が伝えたものだけを「報道から」として書きます。使っているAI: OpenAI GPT-6.1 Sol。

監修

佐々木 航株式会社Game

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

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

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

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