Cisco Japan Blog

注目の脆弱性:TALOS-2018-0529-531 – NASA CFITSIO ライブラリの複数の脆弱性

1 min read



脆弱性の発見者:Cisco Talos の Tyler Bohan

概要

Talos は、NASA CFITSIO ライブラリ内に、リモートでコードが実行される脆弱性が 3 件あることを公表しました。CFITSIO は、Flexible Image Transport System(FITS)データ形式でデータ ファイルの読み取りと書き込みを行うための、C および Fortran のサブルーチンのライブラリです。FITSpopup_icon は、NASA および国際天文学連合(IAU)が承認した、天文学データに関する標準形式です。

巧妙に細工された画像がそのライブラリで解析されると、スタックベースのバッファ オーバーフローが発生し、任意のデータが上書きされることがあります。攻撃者は、悪意のある FIT 画像を送信することでこの脆弱性をトリガーし、コードを実行する能力を獲得する場合があります。

詳細

悪用が可能なバッファ オーバーフローの脆弱性は、CFITSIO ライブラリ バージョン 3.42 の画像解析機能に存在します。

FIT ファイル形式は、キーワードと値のペアを含む ASCII ヘッダーに画像のメタデータを格納します。キーワードと値のペアは、元の形式やコメント、履歴などの詳細を提供します。キーワードの解析関数のいくつかは、スタックベースのオーバーフローに対して脆弱です。多くの関数のエラー処理が正しく計算されず、細工されたキーワードと値が提示されると、スタックベースのバッファ オーバーフローが発生します。

TALOS-2018-0529/CVE-2018-3846

この脆弱性は、コード全体の複数の領域で発生します。キーワードと値/コメントのペアが、エラー メッセージ処理全体において、長さが正しくチェックされません。使用されるエラー バッファの容量が十分ではなく、細工された値/コメントのペアによってオーバーフローが引き起こされる可能性があります。これは特に、メイン ヘッダーの解析機能で発生します。

TALOS-2018-0530/CVE-2018-3847

fits_read_keyn 関数は、特定のキー名を解析、および値/コメント ペアを返します。前述したように、この脆弱性はこの関数のエラー処理に存在しています。攻撃者は、巧妙に細工された画像を送信することで、この関数のエラー メッセージを発生させ、エラー バッファの容量が十分でないためにバッファ オーバーフローが引き起こされます。

TALOS-2018-0531/CVE-2018-3848 – CVE-2018-3849

fits_read_btblhdr 関数は、FITS 画像内のバイナリ テーブルからデータを取得します。この関数の主な目的は、ヘッダーのキーワードを解析し、それらが FIT 標準に適合していることを確認するために検証することです。fits_read_btblhdr 関数は、エラー メッセージ処理で入力を正しくチェックせず、バッファ オーバーフローに対して脆弱です。

この脆弱性は、上記で説明した脆弱性に似ています。fits_read_atblhdr 関数は、FITS 画像内の ASCII テーブルの解析を行います。これもまた、エラーを適切に処理せず、バッファ オーバーフローに対して脆弱です。

詳細については、Talos の脆弱性レポートTALOS-2018-0529popup_iconTALOS-2018-0530popup_iconTALOS-2018-0531popup_icon を参照してください。

カバレッジ

この悪意ある試行は、以下の Snort ルールにより検出可能です。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center または Snort.org を参照してください。

Snort ルール:45697-45700、45701-45714

 

本稿は 2018年4月12日に Talos Grouppopup_icon のブログに投稿された「Vulnerability Spotlight: TALOS-2018-0529-531 – Multiple Vulnerabilities in NASA CFITSIO librarypopup_icon」の抄訳です。

 

コメントを書く