「Apache Fory Java SDKに重大脆弱性って、デシリアライズ系でしゅよね?」
「DisallowedListが効かないって、これまでの対策が全部効かないってことでしゅか?」
CVE-2026-50076、CVSS 9.1って数字だけでもうやばそうでしゅ……。
ふふふ、Javaのデシリアライズ攻撃は何度も繰り返してきた歴史がある。回避策の隙間が開いた今回の構造は、特に注意して読んでほしい。
本記事ではApache Fory Java SDKのCVE-2026-50076が突いたreplace-resolve経路の仕組みと、1.1.0への更新と運用設計の見直しポイントを解説します。
- CVE-2026-50076はApache Fory Java SDK(fory-core)1.1.0未満のデシリアライズ脆弱性
- クラス登録・TypeChecker・DisallowedListをreplace-resolve経路で迂回しreadResolve/readExternalが呼ばれる
- 修正版1.1.0以上への更新と、信頼境界外データのデシリアライズ前提を見直すことが必須
5分後には、自社のApache Fory利用箇所を即時に洗い出すためのチェック観点が手に入ります。
目次
Apache Fory Java SDKのCVE-2026-50076とは
まずは公式アドバイザリで明かされた技術的な要点を整理します。
DisallowedListを迂回するreplace-resolve経路の盲点
Apache Foryの公式セキュリティページによると、CVE-2026-50076はJava SDKのreplace-resolve経路に存在するデシリアライズ脆弱性です。
攻撃者は細工したForyシリアライズデータを送り込み、本来は許可リストやTypeCheckerで弾かれるはずのクラスでも、replace-resolveを経由するとreadResolveやreadExternalフックが呼ばれてしまいます。
つまり、これまで安全対策として頼っていたDisallowedListが事実上バイパスされる構造です。
クラスパスにgadgetチェーンを構成できるクラスが存在すれば、任意コード実行や認証情報の奪取につながる恐れがあります。
主要な事実は以下のとおりです。
| 項目 | 内容 |
|---|
| CVE | CVE-2026-50076(Important) |
| 影響製品 | Apache Fory Java SDK(fory-core) |
| 影響バージョン | 1.1.0未満 |
| 修正版 | 1.1.0以上 |
| 悪用経路 | replace-resolve経由でDisallowedListを迂回しreadResolve/readExternalを呼ぶ |
許可リストで止めてるはずのクラスが、別経路から呼ばれちゃうんでしゅか!?
そうだ。デシリアライザの抜け道はこの種の「経路の見落とし」で生まれる。設計の前提を疑う必要があるな。
影響範囲の洗い出しと対策の優先順位
本脆弱性のリスクは「どこでForyを使っているか」を把握できているかにかかっています。
RPCやキャッシュなど信頼境界をまたぐ箇所を最優先で確認する
Apache ForyはApache Arrowエコシステムでも採用される高速シリアライザで、社内RPC・分散キャッシュ・ストリーム処理など信頼境界をまたぐ用途で使われがちです。
攻撃者が任意のシリアライズデータを送り込める経路があれば、それだけで本脆弱性の悪用条件が整います。
Mavenで依存関係を `mvn dependency:tree | grep fory` のように追跡し、直接依存だけでなく推移的に取り込んでいるケースまで洗い出す必要があります。
また、過去のJavaデシリアライズ脆弱性(Apache Commons Collectionsなど)と同様に、ライブラリ更新だけで終わらず、入力検証と通信路の見直しまでをセットで行うのが定石です。
取るべき対策は以下のとおりです。
- fory-coreを1.1.0以上へ更新し、推移依存も含めて再ビルドする
- 信頼境界外から受け取るシリアライズデータには、ネットワーク層での認証・署名検証を必ず付ける
- クラスパスに不要なreadResolve/readExternal実装を持つ古いライブラリを残していないか棚卸する
- WAFやIDSの検知ルールに、Foryマジックバイトと外部由来データの組み合わせを追加する
不十分だな。デシリアライズ系の脆弱性は何度も繰り返される領域だ。境界の入力を信用しない設計に近づけることが本質的な対策になる。
まとめ:1.1.0更新と境界設計を同時に進める
CVE-2026-50076は、シリアライザの安全機構が「経路次第で迂回される」古典的弱点を再び突きつけました。
fory-core 1.1.0への更新を最優先で進めつつ、デシリアライズが信頼境界をまたいでいないかを設計レベルで点検することが、再発防止の本丸です。
Javaのデシリアライズ問題は今後も類似のCVEが出るとみてよく、運用は継続的なライブラリ追跡と境界設計の見直しが鍵になります。
Javaセキュリティの実務を磨きたい方は、ぜひフリーランス案件で実環境の課題に挑戦してみてください。
参考: Apache Fory 公式セキュリティアドバイザリ / Security NEXT「Apache Fory Java SDKに脆弱性 – 修正版公開」