次の製品が該当し、それらがサポートする全てのOSで影響があります。
【CVE-2026-24733】【CVE-2025-66614】
- WebOTX Application Server Express V10.1~V12.2 (※)
- WebOTX Application Server Standard V10.1~V12.2
- WebOTX Application Server Standard Extended Option V11.1、V11.2
(※) WebOTX Enterprise Service Bus V10.1/V10.3/V11.1/V12.2、WebOTX Portal V10.1/V10.4/V11.1にバンドルされているWebOTX Application Server Expressを使用している場合にも該当します。
【CVE-2025-66614】
クライアント認証において証明書の検証が回避され、情報漏洩や不正なデータ操作、改ざんが行われる脆弱性です。
[脆弱性に該当する条件]
次の全ての条件に合致した場合
- Javaベースの内蔵Webサーバを利用している(※1)
- 一つのHTTPSリスナ(同一IP/同一ポート)が複数のホスト名(仮想サーバ)でリクエストを受信する(※2)
- ホスト名(仮想サーバ)ごとにmTLSの設定が異なる(一つはmTLS必須、もう一つは不要)(※2)
- Webアプリケーションでのクライアント認証を行っていない(※3)
[脆弱性の影響]
クライアント認証では、SNI拡張機能によりクライアントが接続したいホスト名をサーバに知らせる機能があります。
サーバ側はSNI拡張機能により送信されたホスト名とHTTPのHostヘッダとを突き合わせる必要がありますが、
WebOTXではホスト名の一致を検証しないため、複数の異なる仮想サーバが設定され、その一つがクライアント認証不要となっていた場合、
証明書の検証がバイパスされる可能性があります。
【CVE-2026-24733】
HTTP/0.9を使用して(仕様に反する)HEADリクエストを送信することで、GETリクエストに対する制約を回避できる脆弱性です。
[脆弱性に該当する条件]
次の全ての条件に合致した場合
- Javaベースの内蔵Webサーバを利用している(※1)
- WebアプリケーションでGETリクエストを拒否する設定を行っている(※4)
[脆弱性の影響]
URIへのHEADリクエストは許可するがGETリクエストは拒否するセキュリティ制約が設定されている場合、HEADメソッドの応答によりクライアントにボディが返却されてしまうため、本来見せたくないコンテンツの存在を知られる、サーバの情報を盗み見される可能性があります。
補足説明
※1)
以下のサイトをご参照いただき、ご確認お願い致します。
【WebOTX Application Server】利用しているWebサーバの確認方法(OTX-FAQ-000832)
コマンド実行結果の
"http-listener-*"のenabledがtrueになっている場合は、内蔵Webサーバを使用しています。
※2)
複数の仮想サーバを定義し、一方のみにmTLS(相互認証)を設定している状況です。
・一つのHTTPSリスナ(同一IP/同一ポート)が複数のホスト名(仮想サーバ)でリクエストを受信する
・ホスト名(仮想サーバ)ごとにmTLSの設定が異なる(一つはmTLS必須、もう一つは不要)
上記2つの条件に合致するdomain.xmlの例を次に示します。
<virtual-server
id="foo_vs"
network-listeners="http-listener-2"
hosts="foo.example.com,foo.example.com:12443,foo.example.com:8443"
</virtual-server>
<virtual-server
id="bar_vs"
network-listeners="http-listener-2"
hosts="bar.example.com,bar.example.com:12443,bar.example.com:8443"
</virtual-server>
<protocol name="https-protocol" security-enabled="true">
<ssl ... client-auth-enabled="false">
<!-- Host=foo.example.com の場合にクライアント認証を要求 -->
<property name="SSLHostConfig#hostName" value="foo.example.com"></property>
<property name="SSLHostConfig#certificateVerification" value="required"></property>
<network-listeners>
<network-listener protocol="https-protocol" port="443" name="http-listener-2" ...></network-listener>
※3)
Webアプリケーションでクライアント認証を行う設定例を次に示します。
<web-app ...>
<!-- 保護するリソース、必要なロール -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected</web-resource-name>
<url-pattern>/secure/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>USER</role-name>
</auth-constraint>
</security-constraint>
<!-- クライアント認証を使用と利用するレルム名 -->
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>admin-realm</realm-name>
</login-config>
<!-- ロールの宣言 -->
<security-role>
<role-name>USER</role-name>
</security-role>
</web-app>
<nec-web-app>
<!-- ロールを特定のプリンシパル(証明書のSubject等)に割り当て -->
<security-role-mapping>
<role-name>USER</role-name>
<principal-name>CN=alice,OU=Dev,O=Example Corp,C=JP</principal-name>
</security-role-mapping>
</nec-web-app>
※4)
WebアプリケーションでGETリクエストを拒否する設定
Webアプリケーションにおいて、GETリクエストの実行を拒否するweb.xmlの例です(Servlet3.0の場合)。
<web-app ...>
<security-constraint>
<web-resource-collection>
<web-resource-name>Deny GET</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<!-- role-name を1つも書かない auth-constraint は「誰にも許可しない」 -->
<auth-constraint/>
</security-constraint>
</web-app>
対処方法
製品に対するパッチの公開時期は現在検討中です。
急ぎでパッチが必要な場合は、NECサポートポータル経由でお問い合わせください。
(注意) パッチモジュールは製品保守契約を結んでいただいたお客様に限定して提供させていただいています。
まだ契約がお済みでないお客様は、保守契約締結の後、ダウンロードをお願いいたします。
回避方法
【CVE-2025-66614】
次のいずれかが回避策となります。
- 全てのホスト名(仮想サーバ)でmTLSを有効にする
全てのホスト名(仮想サーバ)でmTLSを有効にするdomain.xmlの設定例を以下に示します。
<virtual-server
id="foo_vs"
network-listeners="http-listener-2"
hosts="foo.example.com,foo.example.com:12443,foo.example.com:8443"
</virtual-server>
<virtual-server
id="bar_vs"
network-listeners="http-listener-2"
hosts="bar.example.com,bar.example.com:12443,bar.example.com:8443"
</virtual-server>
<protocol name="https-protocol" security-enabled="true">
<!-- 全てのホスト(仮想サーバ)でクライアント認証を要求 -->
<ssl ... client-auth-enabled="true">
<network-listeners>
<network-listener protocol="https-protocol" port="443" name="http-listener-2" ...></network-listener>
- Webアプリケーションでクライアント認証を行う(※3)
以下の方法は、正しいIPアドレスを持つクライアントが踏み台にされる可能性があるため完全な回避策とはなりませんが、上記の回避策がとれない場合の緩和策としてご検討ください。
- WAF(Web Application Firewall)等で不正なクライアントからの通信を検知し遮断します。
【CVE-2026-24733】
次が回避策となります。
- WebアプリケーションでHEADメソッドを拒否する設定を行う
Webアプリケーションにおいて、HEADメソッドの実行を拒否するにはweb.xmlで次の設定を行います。
<web-app ...>
<security-constraint>
<web-resource-collection>
<web-resource-name>Deny HEAD</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>HEAD</http-method> <!-- HEADを追加拒否 -->
</web-resource-collection>
<!-- role-name を1つも書かない auth-constraint は「誰にも許可しない」= 拒否 -->
<auth-constraint />
</security-constraint>
</web-app>
以下の方法は、正しいIPアドレスを持つクライアントが踏み台にされる可能性があるため完全な回避策とはなりませんが、上記の回避策がとれない場合の緩和策としてご検討ください。
- WAF(Web Application Firewall)等で不正なクライアントからの通信を検知し遮断します。
関連情報
更新履歴
本サイトについてのご注意
- 弊社製品に関する正確なセキュリティ情報をご提供するよう努力しておりますが、 それぞれの情報におきまして内容を予告なく変更することがありますので、 あらかじめご了承ください。
- 本サイトに掲載した製品には他社の製品も含まれており、 これらの製品の情報につきましては、 他社から提供または公開された情報を基にしております。 最新の情報につきましては製品開発元の情報を参照してください。
- 本サイトは弊社製品のセキュリティ情報の提供を目的としております。 掲載情報に従い対応を行った(あるいは行わなかった)結果につきまして、 弊社では責任を負いかねますのでご了承ください。
セキュリティ問題に関する情報は変化しておりますので、 お客様には常に最新の情報をご確認いただけますようお願い申し上げます。