脆弱性・CVE速報深刻度: 高

Dulwich の CVE-2026-122299: tree ヘッダーが 2 つあるコミットで、レビューした内容と別のコードが Poetry で取り込まれる(CVSS 8.8)

目次(5)

CVE-2026-122299

Dulwich(Python 製の Git 実装)の 1.2.20 より前で、コミットの読み取り処理に欠陥(CVE-2026-122299)が登録されました。NVD への登録は 2026-11-04 で、NVD 自身の評価はまだありません(状態は Deferred)。評価は VulnCheck(CNA)が付けています。

何が起きるか

  • コミットのデータに tree ヘッダーが 2 つあると、本家の git は最初のものを使いますが、Dulwich の _parse_commit は最後のものを使います。両者で読む中身が食い違います。
  • NVD の本文によると、Poetry 2.5.1 は Dulwich のこの版を同梱し、Git 依存パッケージの取得に Dulwich を標準で使います。
  • 攻撃者が tree ヘッダーを 2 つ持つコミットを作ると、git を使うレビュー担当者や CI には無害な内容に見え、Poetry の取得では別の内容(setup.py などのビルドスクリプトを含む)が取り出されます。結果として、レビューを経ていないコードが、インストールやビルドを行う環境で実行されます。
  • 攻撃には、Git 依存として指定されるリポジトリ側を細工できることと、利用者がそれを取り込む操作が要ります(NVD の評価は UI:R)。悪用が確認されたとの記載は、NVD の本文にはありません(確認時点)。

数値と severity

  • CVSS v3.1: 8.8(HIGH、AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)。付けたのは VulnCheck で、NVD 上の区分は Primary です。CVSS v4.0 は 8.6。
  • 弱点の種類は CWE-115(出力の誤った解釈)と CWE-1250(データの矛盾した解釈)です。
  • 認証は不要ですが、利用者の取り込み操作が前提で、数値も 9 未満のため、編集部の基準では high とします。
  • CISA の KEV への掲載はありません(確認時点)。EPSS は未算出です。

対策

  • NVD の記述では、1.2.20 より前が対象です。Dulwich を 1.2.20 以降へ更新してください。Poetry 側の修正版の有無は、本稿では確かめていません。
  • 更新できるまでは、出所の分からないリポジトリを Git 依存に指定しない、依存はコミットのハッシュを固定して確認する、といった運用が考えられます(NVD には暫定対策の記載がなく、これは編集部の一般的な助言です)。

未確認の点

  • Poetry 以外で Dulwich を使う製品への影響、Poetry の修正版の有無。
  • 参照先のコミット(b77f385)、リリース(dulwich-1.2.20)、VulnCheck の勧告の全文(本稿では開いていません)。
  • 暫定対策の有無、実際の悪用の有無、EPSS、NVD の最終評価。

出典

  • NVD: CVE-2026-122299
  • VulnCheck の勧告(NVD の参照先。未取得)
  • Dulwich のリリース dulwich-1.2.20 と修正コミット(NVD の参照先。未取得)

この記事について

AI の利用
本記事は AI が NVD などの公開情報をもとに作成しました。数値は取得時点(2026-11-05)のもので、未確認の点は本文に明記しています。

出典

この記事を共有