次の製品が該当し、それらがサポートする全てのOSで影響があります。
- WebOTX Application Server Express V10.1~V12.1 (※)
- WebOTX Application Server Standard V10.1~V12.1
- WebOTX Application Server Standard Extended Option V11.1、V11.2
(※) WebOTX Enterprise Service Bus V10.1、V10.3、V11.1、WebOTX Portal V10.1、V10.4、V11.1にバンドルされているWebOTX Application Server Expressを使用している場合にも該当します。
本脆弱性は、通信プロトコルの一つであるHTTP/2を利用している時、大量のリクエストによってリソースを枯渇させる「MadeYouReset」の脆弱性になります。
HTTP/2では、一つのTCP接続の中で複数のリクエスト(ストリーム)を同時に処理できます。
もし通信の途中で問題が発生した場合は、クライアントやサーバーのどちらからでも、そのストリームを途中で終了(リセット)できる仕組みになっています。
しかし、いくつかのHTTP/2サーバーでは、ストリームがリセットされた後もサーバー内部ではそのリクエストの処理を続けたり、レスポンスを作ってから削除したりする場合があることが確認されました。
この場合、プロトコル上はストリームが終了したとみなされても、サーバーの内部ではまだ処理中のリクエストが残っている、という数のズレが生じます。
このため、クライアントから繰り返し不正なリクエストが送られた場合、サーバーが何度もストリームをリセットすることになり、メモリが過剰確保されたまま解放されずサーバーの内部リソースが枯渇してOutOfMemoryErrorが発生する可能性があります。
[脆弱性に該当する条件]
次の全ての条件に合致した場合
- Javaベースの内蔵Webサーバを利用 (※1)
- HTTP/2を利用している (※2)
※1)
【WebOTX Application Server】利用しているWebサーバの確認方法(OTX-FAQ-000832)
https://www.support.nec.co.jp/View.aspx?id=3150111658
※2)
HTTP/2の利用確認
対象ドメインにログインする必要があります。
[HTTP用リスナの場合]
otxadmin> get server.network-config.protocols.protocol.http-protocol.http.version
・上記の設定値が「HTTP/2.0」
[HTTPS用リスナの場合]
otxadmin> get server.http-service.virtual-server.server.network-listeners
・上記の設定値に「http-listener-2」が含まれている。
otxadmin> get server.network-config.network-listeners.network-listener.http-listener-2.enabled
・http-listener-2が有効 (enabled=true)になっている。
otxadmin> get server.network-config.network-listeners.network-listener.http-listener-2.protocol
・上記の設定値に「nio-http2-protocol」が設定されている。
[脆弱性の影響]
攻撃者はHTTP/2多重化機能を悪用し、認証不要で多数の半開接続や不完全なストリーム状態を作り出し、リソースを枯渇させることが可能になり
メモリが過剰確保されたまま解放されず、OutOfMemoryErrorでサーバを停止させる可能性があります。