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 データベース・ファイル解析時のヒープ境界外アクセス/キャンセルされた文字列によるサービス拒否など至るとされる。
研究者たちは、「発見された脆弱性の悪用に成功した攻撃者が、特権を昇格させ、標的プログラムのコンテキスト内でコードを実行する可能性があった。ただし、メモリ破壊の脆弱性を悪用してプログラムを制御するためには、多段階の攻撃が必要である。攻撃者が特権を昇格させるためには、ヒープ・オーバーフローを悪用して書き込みプリミティブを取得すると同時に、スタック情報リークを悪用して任意の読み取りプリミティブを取得するなど、脆弱性を連鎖させる必要があったと思われる」と述べている。
Wikipedia で ncurses を調べてみたら、「”ncurses” は “new curses” の略であり、開発が途切れた4.4 BSD の curses の代替を意図している。従来の curses を使ったプログラムの移植は容易である。しかし、端末エミュレータではなく実際の VT100 などの端末を想定していたため、端末サイズの変更ですの対処などは古い curses にはなかった」と説明されていました。歴史を感じさてくれる解説ですが、それだけに、広範に利用されている可能性もあります。ご用心ください。
You must be logged in to post a comment.