fastjson2 の autoType 許可リスト検証の欠陥によりリモートコード実行に至る
本脆弱性は、既定構成で SupportAutoType が有効でない場合、fastjson2 の AutoType 無効時の検証分岐が FNV-1a 増分ハッシュと既定の受理ハッシュによる前方一致のみを行い、一致後に入力文字列が許可リストのクラス名と実際に等しいかを再検証しないことに起因します。攻撃者は任意の前置詞に対して FNV chosen-prefix のハッシュ衝突を構成し、jar:/file:/http: といった URL 形態の型名を JSON 要求本文の @type フィールドへ注入できます。その文字列はアプリケーションのコンテキストクラスローダーによって読み込まれ解決され、最終的にサーバー側で任意のリモートコード実行が発火します。悪用には認証も利用者の操作も不要で、対象システムに既知の危険クラスが存在する必要もなく、攻撃者が JSON 要求本文を制御できることだけが条件です。
コンポーネント
fastjson2 はアリババがオープンソース化した高性能な Java 向け JSON 直列化・復元ライブラリです。アーキテクチャはストリーム解析と増分ハッシュ検証機構を採り、オブジェクトマッピング、型の自動推論、AutoType セキュリティ方針の管理を中核能力としています。標準化されたインターフ…
種別
Deserialization of Untrusted Data (CWE-502)
リポジトリ
対処方法
- PR #7695 の修正を参照してください。この修正は ContextAutoTypeBeforeHandler と ObjectReaderProvider に acceptNameSet による許可リスト文字列の再検証を追加し、型名に ':' または '!' が含まれる場合は直ちに拒否することで、FNV chosen-prefix のハッシュ衝突による回避を封じます。暫定的な緩和としては、SafeMode の有効化(JVM 引数 -Dfastjson2.parser.safeMode=true)または noneautotype 版への切り替えによる AutoType の完全無効化があり、あわせて WAF 層で @type キーを含む JSON 要求本文を遮断してください。さらに、デシリアライズ入力への厳格な型許可リストの適用、不要なクラス読み込み経路の廃止、RASP や DAST といったセキュリティ監視による疑わしい @type 入力の継続的な検出を推奨します。
zeroclaw が流量制限の検証欠落により総当たり攻撃を受けノードが失陥する
この欠陥は、ゲートウェイのペアリング処理モジュールが標準化されたクライアント識別子の解決処理を正しく組み込まず、偽装可能な代理転送ヘッダーの値をそのまま頻度計測の根拠として信頼していることに起因し、要求の流量制限機構が完全に無効化されます。攻撃者は連続的に変化する送信元識別子を用いて 6 桁のペアリングコードに対する大量の総当たり要求を発行し、あらかじめ設定された試行回数の閾値を突破して、公開ネットワーク環境で操作を要さずに総当たり攻撃を完了できます。有効な資格情報を取得すると、攻撃連鎖はそれを正規のセッショントークンへと変換し、対象ノードの命令調停権限を全面的に掌握して、システム中核設定の漏洩と権限を越えた操作の危険をもたらします。
コンポーネント
zeroclaw は分散型エッジコンピューティングと IoT ゲートウェイの場面を対象とするオープンソースの自動制御フレームワークです。中核アーキテクチャはモジュール化されたマイクロサービス設計を採り、軽量な API ゲートウェイによって機器の発見、命令の経路制御、状態同期を実現します。異種ハードウ…
種別
Improper Restriction of Excessive Authentication Attempts (CWE-307)
リポジトリ
対処方法
- 認証の端点では下層の伝送層アドレスに基づく頻度計測を必須とし、全体を対象とするスライディングウィンドウ方式の流量制限器を配備することを推奨します。あわせて指数的バックオフによる罰則機構を実装し、一時的な資格情報の失効方針と異常挙動の検知機構を組み合わせて、高頻度の総当たり経路を根本から遮断してください。