WORK.SIGNALALL SIGNALS
/ SECURITY / DEEP DIVE

Apache ThriftのJava処理にHIGH 8.2、深い再帰でサービス停止の恐れ

84 / 100SIGNAL DEEP DIVESECURITY約3分で読める

Apache ThriftのJavaバインディングに、再帰処理の深さを標準では制限しない脆弱性「CVE-2026-120135」が公表された。公式CVSS v4.0評価は8.2(HIGH)。特定の入力処理を経由すると過剰な再帰によってサービスの可用性を損なう恐れがある。影響するのは0.24.0より前のバージョンで、Apacheは0.24.0への更新を推奨している。

30秒でわかる / THE SIGNAL

Apache ThriftのJavaバインディングに、再帰処理の深さを標準では制限しない脆弱性「CVE-2026-120135」が公表された。公式CVSS v4.0評価は8.2(HIGH)。特定の入力処理を経由すると過剰な再帰によってサービスの可用性を損なう恐れがある。影響するのは0.24.0より前のバージョンで、Apacheは0.24.0への更新を推奨している。

Javaの再帰処理がサービス停止につながる可能性

Apache Software Foundationの担当者は2026年10月31日(日本時間)、Apache ThriftのJavaバインディングにおける制御されない再帰の脆弱性を公表した。対象はJavaの `TProtocolUtil.skip()` で、標準状態では再帰深度に制限が設けられていないという。Thriftは異なる言語・システム間の通信を支える仕組みであり、該当処理が攻撃者の影響下にあるデータを処理する構成では、過剰な再帰によるリソース消費やサービス停止のリスクがある。

ただし、Apache Thriftを導入しているだけで直ちに外部から攻撃が成立するという意味ではない。入力の到達経路や実際の使用方法を調べる必要がある。

公式CVSSは8.2のHIGH、機密情報漏えいではなく可用性が中心

公式告知の重大度表記は「important」、CVSS v4.0のスコアは8.2(HIGH)である。CVSSベクトルはネットワーク経由、認証不要、利用者操作不要である一方、攻撃要件(AT:P)が存在することを示す。評価上の影響は可用性が高く、機密性と完全性への直接的影響は示されていない。したがって、本件を認証回避やリモートコード実行と混同すべきではない。

識別子はCVE-2026-120135。GitHub Advisory DatabaseにもGHSA-663r-q6wf-5j93として登録されているが、同ページはUnreviewedでパッケージ・修正バージョン欄がUnknownのため、具体的な影響範囲はApacheの一次告知を優先した。

修正版は0.24.0、現在の安定版は0.25.0

Apacheの公式告知によれば、影響するのはJavaバインディングの0.24.0より前であり、0.24.0で修正済み。Apache公式ダウンロードページは2026年9月30日公開の0.25.0を最新安定版としている。運用者は `org.apache.thrift:libthrift` の実際のバージョンを、直接依存だけでなく推移的依存も含めて確認したい。

対策の基本は0.24.0以降への更新である。0.25.0を選ぶ場合も、通信相手とのプロトコル互換性やアプリケーションの回帰試験を行う必要がある。更新までの通信制限や入力保護はリスク低減策であり、パッチ適用と同等の対処とはみなせない。

運用判断では「どこから入力が届くか」を確認

RPCサービスを提供する組織は、ThriftのJava実装を使うプロセスと外部接続経路を洗い出し、影響版が本番環境に残っていないかを確認することが重要だ。特にインターネットからの到達性、他システムから受け取るデータの信頼境界、障害時の再起動や監視体制を合わせて点検する価値がある。

本稿の確認時点では、実際の攻撃による被害、攻撃コードの有効性、個別の製品構成における成立条件は公式一次情報で確定できていない。公式CVSS 8.2は危険性の評価であり、すべての導入先で同じ影響が生じるとの断定ではない。

TRANSMISSION / AFTER THE SIGNAL

読んだ、その先へ。

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

SHARE THIS SIGNAL

BACK TO THE INDEX / FIND THE NEXT SIGNALALL SIGNALS