脆弱性の発見者:Marcin Noga(Cisco Talos)
libxls ライブラリでは、7 件の脆弱性(TALOS-2017-0403、TALOS-2017-0404、TALOS-2017-0426、TALOS-2017-0460、TALOS-2017-0461、TALOS-2017-0462、TALOS-2017-0463)が新たに発見されました。これらの脆弱性により、細工された XLS ファイルを介してリモートでコードが実行される危険性があります。
概要
libxls ライブラリは Windows、Mac、Linux でサポートされている C ライブラリで、Excel 97(BIFF8)形式から最新形式に至るまで幅広い Microsoft Excel ファイル(XLS)を読み込むことができます。
libxls ライブラリは、CRAN リポジトリを介して R 言語でインストール可能な「readxl」パッケージで使用されます。また、libxls ライブラリは xls2csv ツールの一部でもあります。他にも、Microsoft XLS ファイルを正しく解析できるという特徴もあります。
注:現在のところ、アップデートは svn 経由でのみ利用できます。
Details
TALOS-2017-0403
libxls 1.4 の xls_mergedCells 関数には、エクスプロイト可能な境界外書き込み(out-of-bounds write)の脆弱性が存在します。細工された XLS ファイルによってメモリが破壊され、リモートでコードが実行される危険性があります。脆弱性のエクスプロイト手段としては、悪意のある XLS ファイルを電子メールで送り付けるフィッシング キャンペーンなどが考えられます。
テクニカル アドバイザリの全文はこちらをご覧ください。
TALOS-2017-0404
libxls 1.4 の read_MSAT 関数には、エクスプロイト可能な境界外書き込み(out-of-bounds write)の脆弱性が存在します。
この脆弱性を突いた .XLS ファイルを開くとメモリ破壊が引き起こされ、リモートでコードが実行される危険性があります。
脆弱性のエクスプロイト手段としては、悪意のある XLS ファイルを電子メールで送り付けるフィッシング キャンペーンなどが考えられます。
テクニカル アドバイザリの全文はこちらをご覧ください。
TALOS-2017-0426
libxls 1.3.4 の xls_getfcell 関数には、スタック上で発生してエクスプロイト可能になるバッファ オーバーフローの脆弱性が存在します。この脆弱性を突いた .XLS ファイルを開くとメモリ破壊が引き起こされ、リモートでコードが実行される危険性があります。脆弱性のエクスプロイト手段としては、悪意のある XLS ファイルを電子メールで送り付けるフィッシング キャンペーンなどが考えられます。
注:この脆弱性は、R 言語でインストール可能な readxl パッケージには影響しません。
テクニカル アドバイザリの全文はこちらをご覧ください。
TALOS-2017-0460
libxls 1.4 の xls_preparseWorkSheet 関数では、MULBLANK レコードの処理時に、エクスプロイト可能な整数オーバーフローの脆弱性が発現します。この脆弱性を突いた .XLS ファイルを開くとメモリ破壊が引き起こされ、リモートでコードが実行される危険性があります。脆弱性のエクスプロイト手段としては、悪意のある XLS ファイルを電子メールで送り付けるフィッシング キャンペーンなどが考えられます。
テクニカル アドバイザリの全文はこちらをご覧ください。
TALOS-2017-0461
libxls 1.4 の xls_preparseWorkSheet 関数では、MULRK レコードの処理時に、エクスプロイト可能な整数オーバーフローの脆弱性が発現します。この脆弱性を突いた .XLS ファイルを開くとメモリ破壊が引き起こされ、リモートでコードが実行される危険性があります。脆弱性のエクスプロイト手段としては、悪意のある XLS ファイルを電子メールで送り付けるフィッシング キャンペーンなどが考えられます。
テクニカル アドバイザリの全文はこちらをご覧ください。
TALOS-2017-0462
libxls 1.4 の xls_appendSST 関数には、エクスプロイト可能な整数オーバー フローの脆弱性が存在します。この脆弱性を突いた .XLS ファイルを開くとメモリ破壊が引き起こされ、リモートでコードが実行される危険性があります。脆弱性のエクスプロイト手段としては、悪意のある XLS ファイルを電子メールで送り付けるフィッシング キャンペーンなどが考えられます。
テクニカル アドバイザリの全文はこちらをご覧ください。
TALOS-2017-0463
libxls 1.4 の xls_addCell 関数には、エクスプロイト可能な境界外(out-of-bounds)脆弱性が存在します。この脆弱性を突いた .XLS ファイルを開くとメモリ破壊が引き起こされ、リモートでコードが実行される危険性があります。脆弱性のエクスプロイト手段としては、悪意のある XLS ファイルを電子メールで送り付けるフィッシング キャンペーンなどが考えられます。
注:この脆弱性は、R 言語でインストール可能な readxl パッケージには影響しません。
テクニカル アドバイザリの全文はこちらをご覧ください。
製品の Web サイト:
http://libxls.sourceforge.net/
カバレッジ
これらの脆弱性を検出するため、次の Snort ID がリリースされました。44101-44102、44092-44093、44163-44164、44520-45523、44593-44594、44589-44590
本稿は 2017年11月15日に Talos Group のブログに投稿された「Vulnerability Spotlight: Multiple Remote Code Execution Vulnerabilities Within libxls」の抄訳です。