IBM Support

JRE/JDK が特定文字列の数値変換時にサービス不能に陥る脆弱性 (CVE-2010-4476) が DB2 に与える影響

Technote(トラブルシューティング)


問題(概要)

2011 年 2 月の初週に Java クラス・ライブラリーに対する重大なセキュリティ上の脆弱性が公表されました。Java Runtime Environment (JRE) が特定の文字列をバイナリーの浮動小数点値に変換するとハングします。このフラッシュでは脆弱性がどのように DB2 に影響するかを説明します。

症状

ストアード・プロシージャーの作成および実行特権を持つ悪意の攻撃者により、特定の文字列をバイナリーの浮動小数点値変換する Java ストアード・プロシージャが作成および実行されると、この問題に遭遇する可能性があります。


原因

このセキュリティ・アラートは重大なセキュリティ脆弱性 CVE-2010-4476 (Java ランタイムが特定の文字列をバイナリーの浮動小数点値に変換するとハング) に対するものです。この脆弱性によってJRE がハング、無限ループ、またはクラッシュするためにサービス不能に陥る可能性があります。この問題は他の指数表記で書かれていない数値 (小数点以下 324 桁の表現) でも起こりえます。

環境

DB2 for Linux, UNIX, and Windows バージョン 9.7、9.5、9.1 のすべてのフィックスパック、すべてのプラットフォームと共に出荷される JDK。

DB2 だけでなく、当問題の影響を受ける WebSphere Application Server や JRE/JDK などを内部的に利用している Information Management 製品でも当問題と同様の問題が発生する可能性がありますので、修正プログラム適用などのご検討をお勧めいたします。
ご不明な点は、IBM サービス・ラインにお問い合わせいただくようお願いします。(お問い合わせ製品に対する有効なサポート契約が必要です。)


解決方法

この脆弱性の影響を受ける可能性があり、次のフィックスパックまで待てない場合、DB2 の各バージョンに対応した JDK の暫定修正を適用することで、当問題を解決できます。
DB2 9.7 FP5、9.5 FP8、9.1 FP11 以降に含まれる JDK でこの問題は解決されます。

適用方法については、developerWorks の以下のページを参照してください。
Critical security vulnerability alert - Security Alert for CVE-2010-4476

DB2 for Linux, UNIX, and Windows Version 9.7 FP0 から FP4

  • JDK 6 SR9 に更新してください。
  • Linux および AIX 用のフルビルドと、それ以外のプラットフォーム用の IBM Update Installer for Java を使ったパッチが上のリンクからダウンロード可能です。

DB2 for Linux, UNIX, and Windows Version 9.5 FP0 から FP7
  • JDK 5 SR12-FP12 に更新してください。
  • Linux および AIX 用のフルビルドと、それ以外のプラットフォーム用の IBM Update Installer for Java を使ったパッチが上のリンクからダウンロード可能です。

DB2 Linux, UNIX, and Windows Version 9.1 FP0 から FP10
  • JDK 5 SR12-FP12 に更新してください。
  • Linux および AIX 用のフルビルドと、それ以外のプラットフォーム用の IBM Update Installer for Java を使ったパッチが上のリンクからダウンロード可能です。

IBM Update Installer for Javaに関する重要な注記:
IBM Update Installer for Java を使用する前に、まずは上述の修正を適用することを最初にご検討ください。IBM Update Installer for Javaはこの重大なセキュリティ脆弱性を解決するための一時的な手段です。IBM Update Installer for Javaを使用した場合、今後どのようなJDKの更新を行った場合もこのパッチは除去されます。
また、一度パッチを適用した JDK に、再度パッチを適用しようとすると拒否されることがあります。

新規 JDK のインストールに関する重要な注記:
DB2 によってインストールされた JDK を上書きせず、新規のパスに新しい JDK をインストールする必要があります。インストール後、データベース・マネージャー構成パラメーター jdk_path を新しい JDK のインストールパスに更新してください。
    例: (/opt/ibm/java6 に新しい JDK をインストールした場合)
    $ db2 update dbm cfg using jdk_path /opt/ibm/java6

お問合せ先
技術的な内容に関して、サービス契約のあるお客様は IBM サービス・ラインにお問い合わせください。


変更履歴
2011/03/09 暫定修正が解決策であることを明記。タイトルを簡素化。
2011/03/01 DB2 以外の Information Management 製品への注記を追加。
2011/02/24 誤字修正、Double.parseDouble のみが影響すると判断されないよう修正。
2011/02/23 初版公開

関連情報

Impact to DB2 regarding IBM JRE Denial of Service
JRE/JDKが特定の文字列の数値変換でハングすることによるサービス不能
IZ89602: JVM CRASHES WHILE LOADING INVALID CLASS FILE
IZ89620: JVM CRASHES WHILE LOADING INVALID CLASS FILE

Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 8, 9.1, 9.5, 9.7, 9.8

Operating system(s): AIX, HP-UX, Linux, Linux iSeries, Linux pSeries, Linux zSeries, Solaris, Windows

Software edition: Advanced Enterprise Server, Enterprise Server, Express, Express-C, Personal, Workgroup Server

Reference #: 1469029

Modified date: 24 December 2013