
IBM WebSphere の信頼できないデータのデシリアライゼーション - IBM WebSphere 7,8,8.5,9
IBM WebSphere の信頼できないデータのデシリアライゼーション - IBM WebSphere 7,8,8.5,9
Title: IBM WebSphere 信頼できないデータのデシリアライゼーション
Application: IBM WebSphere 7,8,8.5,9
Description: アプリケーションサーバーは、WASPostParam クッキーが存在する場合に信頼できないデータをデシリアライズします。
これにより、リソースの枯渇によるDoS、および潜在的にリモートコード実行が発生する可能性があります。
Authors: Federico Dotta <[email protected]>
Maurizio Agazzini <[email protected]>
Vendor Status: 修正済み (PI62375)
CVE Candidate: Common Vulnerabilities and Exposuresプロジェクトは、この問題にCVE-2016-5983という名前を割り当てています。
References: http://lab.mediaservice.net/advisory/2016-02-websphere.txt
http://lab.mediaservice.net/code/websphere_payload.zip
http://www-01.ibm.com/support/docview.wss?uid=swg21990060
カスタムフォーム認証を使用する場合、IBM WebSphere は LtpaToken2 セッションクッキーが無効なときに自動的にクッキー WASPostParam および WASReqURL を設定します。これらのクッキーのデータは、ユーザーが再度ログインする際に、最後に訪れたページと関連パラメーターを取得するために使用されます。
WASPostParam はシリアライズされた Java オブジェクトであり、オブジェクトタイプをチェックせずにデシリアライズされます。この動作を悪用して、サービス拒否を引き起こしたり、潜在的に任意のコードを実行したりすることができます。
DoS を引き起こす可能性のあるオブジェクトは、以下から取得された既知の公開ペイロードに基づいています。
現時点では、IBM WebSphere 上でコード実行を可能にする既知のチェーンはありませんが、新しいチェーンが毎日発見されています。
攻撃は以下のように再現できます。
カスタムフォーム認証を使用したアプリケーションを作成する
ユーザーログイン後、アプリケーションサーバーによって LtpaToken2 が設定される
以下の内容のいずれかを含む WASPostParam クッキーを持つ HTTP GET リクエストを送信する
01_BigString_limited_base64.txt: 文字列オブジェクト。サーバーは通常通り応答します(オブジェクトサイズは次のものと同程度)。
02_SerialDOS_limited_base64.txt: アプリケーションサーバーは、CPU使用率100%でリクエストの実行に約2分かかります。
03_BigString_base64.txt: 文字列オブジェクト。サーバーは通常通り応答します(オブジェクトサイズは次のものと同程度)。
04_SerialDOS_base64.txt: アプリケーションサーバーは、CPU使用率100%でリクエストの実行に未知の時間を要します。
この脆弱性は、以下のバージョンおよびリリースの IBM WebSphere Application Server およびそれ以前のバージョンに影響します。
Liberty 16.0.0.2
9.0.0.1
8.5.5.10
8.0.0.12
7.0.0.41
暫定修正 PI62375 を適用
http://www-01.ibm.com/support/docview.wss?uid=swg24042712
概念実証.
タイムライン
20/08/2016 - IBM PSIRT (psirt at us.ibm.com) に最初の連絡を送信
22/08/2016 - IBM からの応答、PSIRT Advisory 6345 がバグに割り当てられる
05/10/2016 - IBM からの修正情報 (PI62375) の連絡
07/10/2016 - セキュリティアドバイザリを公開