新たに開示された12件の脆弱性は、4つの企業向けJavaプラットフォームに影響を及ぼしており、その中には認証前に悪用可能な4件の欠陥とサンドボックス脱出の欠陥が含まれています。
Black Hat 2026で発表されたこの調査によると、ルーター、サーブレットディスパッチャー、SSOハンドラー、デシリアライザー、テンプレートエンジンといった見落とされがちなミドルウェアコンポーネントが組み合わさることで、完全なリモートコード実行(RCE)チェーンを形成し得ることが示されています。
最も深刻な発見はBonita BPM 10.4.3とApache OFBiz 24.09.05に影響します。両製品は異なるフレームワークと脆弱性の種類を使用していますが、悪用の経路はどちらも同じパターンをたどります。すなわち、未認証のリクエストが内部コンポーネントに到達してしまうというものです。
「BadBonita」と名付けられたBonita BPMの攻撃チェーンは、URLパース処理とサーブレットディスパッチにおける不整合から始まります。
Bonitaは認証済みの公開エンドポイントである/API/と、生のXStreamデシリアライズをサポートしHTTP APIユーザー向けとされている内部インターフェース/serverAPI/を分離しています。
Noveeの研究者であるLidor Ben Shitrit氏とAssaf Levkovich氏によると、細工したパスを使うことで各コンポーネントにURLセグメントを異なる形で解釈させることが可能だといいます。
セキュリティフィルターはこのパスを公開APIに属するものと認識する一方、Tomcatの処理は最終的に保護された内部APIへとこのリクエストを転送してしまいます。この攻撃は、Bonitaの認証およびCSRFフィルターにおける部分一致の正規表現によってさらに強化されます。
これらのフィルターは文字列全体の一致ではなくMatcher.find()を使用しているため、攻撃者が制御するパスは許可された部分文字列を含みつつ、最終的には別の場所へと解決されてしまう可能性があります。
/serverAPI/*のセキュリティ制約におけるFORWARDディスパッチャー宣言の欠落が、最後のルーティングの隙間を生み出しています。リクエストが内部APIに到達すると、攻撃者が制御するXMLがXStreamによってデシリアライズされてしまいます。
適切なガジェットチェーンと組み合わせることで、これによりアプリケーションプロセス内での認証前のコード実行が可能になります。CVE-2026-31986として追跡されているApache OFBizの問題は、SSOを有効にした環境に影響します。
Noveeはこのチェーンを「SSOnOf(a)biz」と名付けました。これは、デフォルトのJWT署名鍵、偽装された認証、UI設定によるゲート、そして安全でないテンプレート展開を組み合わせたものだからです。
報告によると、OFBizはSSOトークンとウィジェットコールバックトークンの両方に使用されるハードコードされたHMAC署名鍵を同梱した状態で出荷されています。
管理者がデフォルトの鍵を変更していない場合、攻撃者はサーバーが正当なものとして受け入れるトークンを作成できてしまいます。これには、管理者ユーザーに属すると偽装したトークンも含まれます。
Noveeの調査によると、認証済みの攻撃者はjavaScriptEnabled設定を有効化できます。これはUI向けのフラグですが、特定のウィジェット描画経路が式を評価するかどうかも制御しています。
その後、コールバックトークンのareaTargetクレームが十分な検証を経ないままFlexibleStringExpanderに到達し、最終的にはGroovyによる評価にまで至ってしまいます。
OFBizには危険な式をブロックすることを意図した正規表現によるブラックリストが組み込まれていますが、研究者らは大文字・小文字を区別するマッチング処理とGroovyの組み込みインポートに起因する回避手法を発見しました。その結果、SSOが有効になっている脆弱なインスタンスでは、正規の認証情報を一切必要としないRCE経路が生まれてしまいます。
今回の発見は、企業向けJavaにおけるリスクが、単一の明白な欠陥よりもむしろコンポーネント間の継ぎ目に潜んでいることが多いという考え方を裏付けるものです。
組織は、サーブレットの制約がFORWARD、INCLUDE、ERRORのディスパッチをすべてカバーしているか見直し、部分一致の正規表現を厳格なパス検証に置き換え、出荷時の署名鍵をローテーションし、暗号鍵を信頼ドメインごとに分離すべきです。
チームはまた、可能な限り危険なデシリアライズやサーバー側での式評価を排除すべきです。レガシー機能上どうしても必要な場合には、制限的なXStreamの型許可リスト、JEP 290のシリアライズフィルター、そして堅牢なサンドボックス化が不可欠となります。
最も重要なのは、内部エンドポイントを攻撃者から到達可能なものとして扱うことです。ルーティング、認証、実行の各レイヤーがリクエストの許可範囲について食い違っている限り、玄関に鍵をかけただけではミドルウェアを守ることはできません。
ANY.RUNのブラウザ内データ検査で、検知・調査・対応をより迅速に。フィッシングの完全な可視性を獲得し、SOCを強化してMTTRを削減しましょう
翻訳元: https://cyberpress.org/enterprise-java-bonita-bpm-apache-ofbiz/