Linux/macOS の ncurses ライブラリの深刻な脆弱性:Microsoft が詳細レポートを公表

Microsoft Uncovers Flaws in ncurses Library Affecting Linux and macOS Systems

2023/09/14 TheHackerNews — プログラミング・ライブラリである ncurses (new curses の略) で、メモリ破壊の脆弱性が発見された。その影響が及ぶ Linux/macOS システム上で、悪意のコード実行を試みる、脅威行アクターたちに悪用される可能性があるという。Microsoft Threat Intelligence の研究者である Jonathan Bar Or と Emanuele Cozzi と Michael Pearse は、「環境変数ポイズニングを使用する攻撃者は、これらの脆弱性を連鎖させて特権を昇格させ、標的のプログラム・コンテキストによるコード実行や、悪意のアクションを引き起こす可能性がある」と、今日に発表されたテクニカルレポートの中で述べている。


この脆弱性 CVE-2023-29491 (CVSS:7.8) は、2023年4月の時点でパッチが適用されている。また、これらの欠陥に関連する、macOS 固有の問題への対処についても、Microsoft は Apple と協力したと述べている。

環境変数とは、システム上の複数のプログラムで使用できる、ユーザー定義の値を持つものであり、システムの動作に影響を与える可能性がある。この変数を悪用することで、アプリケーションに対して許可されていない操作が実行される可能性もある。

Micorsoft のコード監査とファジングにより、TERMINFO などの複数の環境変数を、ncurses ライブラリが検索していることが判明した。

この脆弱性が悪用されると、スタック情報のリーク/パラメータ化された文字列のタイプ・コンヒュージョン/off-by-one エラー/terminfo データベース・ファイル解析時のヒープ境界外アクセス/キャンセルされた文字列によるサービス拒否など至るとされる。

研究者たちは、「発見された脆弱性の悪用に成功した攻撃者が、特権を昇格させ、標的プログラムのコンテキスト内でコードを実行する可能性があった。ただし、メモリ破壊の脆弱性を悪用してプログラムを制御するためには、多段階の攻撃が必要である。攻撃者が特権を昇格させるためには、ヒープ・オーバーフローを悪用して書き込みプリミティブを取得すると同時に、スタック情報リークを悪用して任意の読み取りプリミティブを取得するなど、脆弱性を連鎖させる必要があったと思われる」と述べている。