LLVMのArmバックエンドに任意コード実行などの脆弱性(JVN)
IPAおよびJPCERT/CCは、LLVMのArmバックエンドにおいて、スタック保護機構が正常に機能せずバッファオーバーフローが検知できなくなる問題が存在すると「JVN」で発表した。
脆弱性と脅威
セキュリティホール・脆弱性
LLVMのArmバックエンドにおけるスタック保護機構では、関数のスタックフレーム内においてローカル変数と戻り先アドレスの間にチェック用のcookie値(カナリア)がスタックプロテクタとして配置され、関数の実行終了時にこの値が上書きされていないかチェックすることで、スタックの改ざんを検知する。しかし、スタック上にローカル変数を配置する処理のなかで新しいスタックプロテクタを設けたり、スタックプロテクタを指すポインタ値がスタック上に置かれる可能性が判明した。
スタックバッファオーバーフローが正常に検知されなくなることにより、第三者により任意のコードを実行されたり、サービス運用妨害(DoS)攻撃を受けたりする可能性がある。JVNでは、開発者が提供する情報をもとに、最新版へアップデートするよう呼びかけている。
《吉澤 亨史( Kouji Yoshizawa )》