CveTest
Node.JS V0.10.31 v8 バックポート CVE-2013-6668 のクラッシュを再現するためのテストケース。
このテストでは、"SQLDB" データベース内のテーブル("Table1")からデータを取得するために、SQL ストアドプロシージャ("GetSomething")を呼び出します。同じ呼び出しを数回行った後に、返される行が 52 行を超えるとクラッシュが発生します。
環境
- Windows 7 64-bit
- MS SQL 2005
- Node.JS V0.10.31 x64
- tedious node module V1.4.3 以前
さまざまな種類の Node でのテスト
- リリースモードの node: スクリプトは明示的なエラーを出力せずに予期せず終了するだけです。
- デバッグモードの node: アサーションとスタックトレース が取得されます。
- Node.JS Issue #8208 で提案された一時パッチを適用したデバッグモードの Node: 上記と同様にクラッシュします。
- リリースモードでは問題ありません。
- 発生するアサーションは DEBUG ビルドでのみ利用可能な HInstruction::Verify() 内のものです。したがって、代替となるリリースビルドのコードは CVE パッチの影響を受けていないようです。
- V0.10.30 の deps/v8 を使用した Node V0.10.31: クラッシュせず、正常に動作します。
したがって、問題を引き起こしているのは、v8 バックポートの CVE-2013-6668 パッチであると思われます。
関連する可能性があるもの