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

Apache Thrift の Java ライブラリで再帰の深さが無制限(CVE-2026-120135、CVSS v4.0 8.2): TProtocolUtil.skip() への細工データで可用性に影響、0.24.0 で修正

目次(6)

CVE-2026-120135

NVD は 2026-10-31 に、Apache Thrift の Java バインディングの CVE-2026-120135 を登録しました。Java ライブラリ(org.apache.thrift:libthrift)の TProtocolUtil.skip() が、既定では再帰の深さを制限していません(CWE-674: 制御されない再帰)。深く入れ子にした細工データを読ませると、可用性(サービスの継続)に影響するおそれがあります。CVSS v4.0 は 8.2(HIGH)で、Apache(CNA)が付けた値です。

何が起きるか

  • 対象は、Apache Thrift の Java バインディング 0.24.0 より前の版です(CNA の記述)。
  • Thrift は、サービス間の RPC やデータの直列化に使われるライブラリです。skip() は、受け取ったデータのうち読み飛ばす項目を処理する関数で、入れ子の構造を再帰でたどります。
  • 再帰の深さに上限がない場合、非常に深い入れ子のデータを送られると、スタックの枯渇などで処理が異常終了したり、止まったりするおそれがあります(推定。具体的な挙動の詳細は勧告に書かれておらず、未確認です)。
  • CVSS v4.0 のベクターでは、ネットワーク越し・認証不要・ユーザー操作不要で、影響は可用性のみ「高」(機密性・完全性への影響なし)です。攻撃の前提条件は「あり」とされ、Thrift の通信を受け付ける構成であることなどが条件になると考えられます(推定)。
  • 実際の攻撃での悪用は確認していません。

修正の状況

  • 修正版は 0.24.0 です。CNA は 0.24.0 への更新を推奨しています。
  • GitHub 上の最新リリースは 0.25.0(2026-09-30 公開)で、0.24.0 以降の版に更新すれば修正を含むと考えられます(推定)。
  • 回避策は勧告に記載がなく、確認できていません。

数値と出典(2026-11-02 時点)

項目内容
CVECVE-2026-120135
NVD 公開日2026-10-31
影響版Apache Thrift Java バインディング(org.apache.thrift:libthrift)0.24.0 より前
修正版0.24.0
CWECWE-674(制御されない再帰)
CVSS v4.08.2 HIGH(AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N)。Apache(security@apache.org)の値で、NVD 上は Secondary
NVD の状態Received(NVD 自身の評価は未実施)
EPSS0.00553(パーセンタイル 0.46、FIRST、2026-11-01 付)
KEV掲載なし(CISA のカタログで CVE-2026-120135 を確認できず)

severity を high とした理由

ネットワーク越しに認証なしで可用性を損なえる点と、Apache が重大度を「important」、CVSS v4.0 を 8.2 としている点から、high としました。一方で、影響は可用性のみで機密性・完全性への影響はなく、悪用の確認もなく、EPSS は約 0.6%、KEV にも載っていません。このため critical にはしていません。

対応として考えられること

  1. 自社のアプリケーションや依存関係に、org.apache.thrift:libthrift(Java)が含まれているかを確認します。ビルドの依存関係の一覧(SBOM、pom.xml、build.gradle など)で版を見ます。
  2. 0.24.0 以降への更新を計画します。直接の依存だけでなく、他のライブラリが取り込んでいる間接的な依存も対象です(推定)。
  3. 更新までの間、Thrift のポートを信頼できるネットワークに限り、不特定の相手からの接続を受けない構成にします(推定)。
  4. 入力データの大きさや入れ子の深さを制限できる設定が自社の構成にあれば、あわせて確認します(推定)。
  5. サービスの異常終了や、スタックの枯渇を示すエラーが繰り返し出ていないか、ログとモニタリングを見ます(推定)。

未確認の点

  • 実際の攻撃での悪用は確認していません。
  • 再帰の上限がない場合の具体的な挙動(異常終了か停止かなど)と、再現に必要な条件は、勧告に詳細がなく未確認です。
  • 0.24.0 より前のどの版から影響を受けるか、Java 以外の言語バインディングが影響を受けるかは確認していません。
  • NVD 自身の評価は未実施(Received)です。CVSS は CNA の値です。

この記事について

出典

この記事を共有