Fastjsonバージョン1.2.83は長年にわたり、このライブラリのレガシー系統における安全性の最後の砦とされてきました。しかし、新たに発見された脆弱性がその安全神話を打ち砕きました。CVE-2026-16723(CVSS 9.0)と命名されたこの重大な欠陥は、攻撃者が脆弱なSpring Bootアプリケーション内で任意のリモートコードを実行することを可能にします。さらに懸念されるのは、AutoType機能が無効化されている場合でもこのエクスプロイトが機能し、システム内に悪意あるクラスが事前に存在している必要すらない点です。
AutoTypeバイパスの仕組み
この脆弱性はFastjsonバージョン1.2.68から1.2.83までに影響します。攻撃を成立させるには、悪意ある攻撃者がユーザー制御下のJSONペイロードをFastjsonライブラリに渡す機能へネットワーク経由でアクセスできる必要があります。加えて、標的となるアプリケーションは依存関係を内包した実行可能なSpring Bootアーカイブとして動作しており、かつライブラリのセーフモードが無効化されている必要があります。
FearsOff Cybersecurityの著名な研究者であるKirill Firsov氏は、この重大な弱点を発見しました。氏によると、AutoTypeが明示的に無効化されている場合でも、Fastjsonは@typeメタデータフィールドを処理してしまうことが判明しました。クラス名の検証中、ライブラリはクラスローダー経由で該当リソースを探し出そうとします。正規のクラス名を巧妙に細工したURI(統一リソース識別子)に置き換えることで、攻撃者はアプリケーションに外部の悪意あるサーバーへアクセスさせることができます。
SSRFからリモートコード実行へ
この手法はまず、ひそかなサーバーサイドリクエストフォージェリ(SSRF)を成立させます。続いて攻撃者は、悪意あるクラスを含むリモートのJavaアーカイブをアプリケーションにダウンロードさせることができます。この不正なクラスに埋め込まれた@JSONTypeアノテーションは、いわば信頼を装う偽のバッジとして機能し、Fastjsonに一部のセキュリティチェックを回避させ、当該クラスをインスタンス化しようと試みさせます。
Java 8で稼働する特定の構成では、リモートアーカイブの取得と同時に悪意あるペイロードが即座に発動します。しかしJava 9以降では、ランタイム環境が特定の文字を含むクラス名を明示的にブロックするため、この直接的な攻撃経路は成立しなくなります。それでもFirsov氏は屈することなく、Linux環境の/proc/self/fdディレクトリを利用した、現行Javaバージョン向けの巧妙なバイパス手法を編み出しました。
リモートアーカイブをダウンロードすると、Javaランタイム環境は一時的にそのファイルをキャッシュし、開いた後、ディスク上のファイル名を削除します。しかし、開かれたファイルディスクリプタを通じて、ファイルの中身自体には依然としてアクセス可能な状態が残ります。攻撃者はこれらのファイルディスクリプタ番号を系統的に列挙し、Fastjsonをすでにダウンロード済みのアーカイブのパスへとリダイレクトさせます。一致に成功すると、ライブラリは悪意あるクラスを取り込み、その邪悪なコードを実行してしまいます。
悪用範囲と実際の脅威
Alibabaは、Spring Bootバージョン2、3、4、およびJava環境8、11、17、21にわたってこの攻撃経路を厳密に検証しました。この脆弱性の成否は、実行可能なSpring Bootアーカイブが用いる特殊なクラスローダーに完全に依存しています。一方、標準的なJavaアーカイブ、汎用ビルド、およびTomcatやJetty向けのWARアプリケーションは、Alibabaの公式セキュリティアドバイザリによれば、影響を受けないとされています。
この危険なペイロードは、JSON.parse、JSON.parseObject(String)、JSON.parseObject(String, Class)といった関数に侵入する可能性があります。入力データを特定のクラス型に制限したとしても、必ずしもアプリケーションを保護できるわけではありません。悪意あるフィールドは、汎用のObject型やMap構造を持つオブジェクトの中に密かにネストされている場合があるためです。
サイバーセキュリティ研究者たちは、この脅威の動向を積極的に監視しています。実際にThreatBookは、検知ルールを展開した後に実際の悪用の試みを観測したと報告しました。同社はJava 8のSpring Bootアプリケーションでリモートコード実行の再現に成功した一方、埋め込み型Tomcatサーバーに対するテストでは、リモートアーカイブのダウンロードあるいはサーバーサイドリクエストの発生にとどまったとしています。
同様に、Impervaも、金融、医療、小売、テクノロジー分野の各組織を標的とした不審な活動を検知しました。これらの探索的なリクエストの大半は米国を発信元としており、少数がシンガポールおよびカナダから発せられていました。なお、ThreatBookとImperva双方とも、攻撃の総数、ペイロードの具体的な内容、被害者の身元、あるいは侵害の成功を裏付ける確定的な情報については公表していません。
緩和策とレガシーな脆弱性
7月下旬時点で、AlibabaはFastjson 1.x系統に対する修正版をリリースしていません。開発チームは、この特定の脆弱なメカニズムの影響を受けないFastjson2への移行を強く推奨しています。暫定的な防御策としては、管理者が-Dfastjson.parser.safeMode=trueパラメータを用いてセーフモードを有効化するか、制限付きビルドであるcom.alibaba:fastjson:1.2.83_noneautotypeを導入することができます。
各企業は、Fastjsonに対する直接的および間接的な依存関係を綿密に監査するよう強く求められます。さらにセキュリティチームは、異常な@type値、ネストされたJavaアーカイブへの参照、予期しない外向きのネットワーク接続、子プロセスの生成、あるいはサーバー上に突如現れる新規ファイルやWebシェルがないか、ログを積極的に精査すべきです。
2022年のAutoTypeバイパス開示を受け、セキュリティ専門家たちはFastjson 1.2.83を安全なアップグレード版として称賛していました。しかし皮肉にも、この1.x系統最終版が今まさにFastjson RCE CVE-2026-16723の脆弱性の標的として狙われることとなり、サイバー脅威が絶えず進化し続けることを如実に物語る事例となっています。
翻訳元: https://meterpreter.org/fastjson-rce-cve-2026-16723/