Black Hat 2026で発表されたセキュリティ研究により、4つのエンタープライズJavaプラットフォームにまたがる12件の脆弱性が特定されました。この中には、Bonita BPMとApache OFBizに影響する、認証前リモートコード実行(RCE)につながる2つの重大な攻撃チェーンが含まれています。
SecurityProducts & Services
研究者のLidor Ben Shitrit氏とAssaf Levkovich氏は、URL解析の違いやサーブレット保護の不備、ハードコードされた暗号鍵、安全でないテンプレート評価といった、一見些細なミドルウェアの脆弱性がどのように組み合わさり、完全な認証不要での侵害につながる経路を作り出すのかを実証しました。
Enterprise Javaの脆弱性
今回の調査結果は、協調的な情報開示プロセスを通じて共有されました。この研究は、エンタープライズJava環境が依然として脆弱である理由が、個々の欠陥のあるライブラリだけでなく、内部コンポーネントが外部の攻撃者から安全であると誤って想定していることにもあることを浮き彫りにしています。
最初の攻撃チェーンは「BadBonita」と名付けられ、Bonita BPMバージョン10.4.3に影響します。Bonitaは、ビジネスワークフローや人的タスク、プロセスのライフサイクル管理、およびSAP、LDAP、データベース、Salesforceといった各種エンタープライズシステムとの連携に広く使われているプラットフォームです。
Novee Securityが発見したところによると、攻撃者はルーティングと認可の不備を組み合わせて悪用することで、通常はアクセスが制限されているBonitaの`/serverAPI/`インターフェースにアクセスできることが判明しました。公開されている`/API/`側は認証とCSRF保護を必要としますが、内部APIは生のXStreamデシリアライズを許可しており、本来はHTTP APIユーザー向けに用意されたものです。
この攻撃チェーンは、セミコロンを含むパスパラメータの解析方法の違い、認証フィルタおよびCSRFフィルタにおける正規表現マッチングの甘さ、サーブレットディスパッチャの制限不足を利用したものでした。
JavaのURI正規化は、特別に細工されたパスをTomcatのリクエストディスパッチャとは異なる方法で処理するため、公開向けと検証されたリクエストが内部に転送されてしまう状態になっていました。
いったん内部エンドポイントにアクセスできるようになると、攻撃者が制御するXMLがXStream経由でデシリアライズされる可能性があります。過度に寛容な型処理と、Groovyを利用したガジェットチェーンの組み合わせにより、リクエストが完了する前にコード実行に至る恐れがあります。

この事例は、「内部専用」APIが本質的に安全であると想定すべきではないことを示しています。セキュリティ制御は、直接のHTTPリクエストだけでなく、転送(forward)や包含(include)、エラーディスパッチによる経路も考慮しなければなりません。
2つ目の攻撃チェーンは「SSOnOf(a)biz」と名付けられ、SSO(シングルサインオン)を有効にしたApache OFBizバージョン24.09.05を標的とします。OFBizは、会計、在庫管理、製造、人事、eコマースなどの業務機能に使われる、歴史あるエンタープライズリソースプランニング(ERP)プラットフォームです。
Novee Securityによると、OFBizは公開されているソースコード内に、ハードコードされたJWT(JSON Web Token)のHMAC署名鍵を含んだ状態で配布されていました。攻撃者はこのデフォルト鍵を悪用することで、管理者権限を持つ有効なSSOトークンを偽造でき、鍵が変更されていない場合はパスワード認証を事実上バイパスできてしまいます。
SecurityProducts & Services
続いて研究者らは、ウィジェットのレンダリング処理にもう一つの欠陥を発見しました。本来ウィジェットのターゲットを保持するはずのJWTコールバッククレームが、Groovy式を評価できるOFBizのFlexibleStringExpanderに渡されていたのです。
`javaScriptEnabled`という名前のユーザー設定が、こうした評価の実行を制御するゲートとして機能していました。しかし、偽造トークンを持つ攻撃者はこの設定を変更できてしまいます。
危険な式をブロックするために用意されていたデナイリスト(拒否リスト)は、大文字小文字を区別するパターンと不完全なキーワードマッチングに依存していたため不十分であることが判明し、その結果、CVE-2026-31986として追跡される、2回のリクエストで完結する認証前RCEチェーンが成立してしまいました。
両方の攻撃チェーンには共通のパターンが見られます。攻撃者は信頼境界の不備を突いて内部コンポーネントへのアクセスを獲得し、その後、コード実行が可能な処理箇所(シンク)に到達するという流れです。
エンタープライズJavaアプリケーションを運用する組織は、次の点に重点を置いた監査を実施すべきです。
- FORWARD、INCLUDE、ERRORディスパッチャに対する適用範囲を欠いた`web.xml`の制約
- `Matcher.find()`のような部分一致を利用する、正規表現ベースのフィルタ除外設定
- 関連のない認証機能間で使い回されているデフォルト鍵や共有署名鍵
- 信頼できない入力からアクセス可能なテンプレートエンジン、デシリアライザ、スクリプト実行環境
- 機密性の高いサーバーサイドロジックに影響を与えるUIフラグや設定項目
- 過度に寛容な型許可を認めるXStreamの設定
この調査結果が示す重要な教訓は明確です。ミドルウェアは攻撃対象領域(アタックサーフェス)の一部とみなされるべきだということです。内部ルート、シリアライズ処理、SSO連携用コード、レンダリングエンジンは、攻撃者がアクセスできるものとして保護しなければなりません。なぜなら、脆弱性の連鎖によって、その前提が事実上覆されてしまう可能性があるからです。
フィッシングやマルウェアが貴社を侵害する前に阻止しましょう。 世界15,000のSOCからのライブインテリジェンスを統合
翻訳元: https://gbhackers.com/enterprise-java-vulnerabilities/