通信用語の基礎知識 日本文化チャンネル桜二千人委員会 戻る

通常PC用 / 人気 更新 今日 カテ
電子計算機 > ソフト > OS > 製品/作品 > Unix > POSIX > Linux > バグ
CVE-2013-0914
辞書:電算用語の基礎知識 ソフト用語編 (PYSOFT)
読み:スィーヴィーイー-にーゼロいちさん-ゼロきゅういちよん
外語:CVE-2013-0914
品詞:固有名詞

Linuxカーネルに存在した脆弱性の一つ。ASLR保護メカニズムを回避される脆弱性。

目次
概要

MITRE社の脆弱性情報データベースCommon Vulnerabilities and Exposures(CVE)に登録されている脆弱性の一つ。

ログイン可能な一般ユーザーにより、sigactionシステムコールを含む巧妙に細工されたアプリケーションを介し、ASLR保護メカニズムを回避される可能性があるセキュリティホールである。

Emese Revfy氏により発見された。

特徴
問題

ASLR保護メカニズムを回避される脆弱性

原因

kernel/signal.c内のflush_signal_handlers()関数での初期化に不足があった。

具体的には、シグナルハンドラーforkされた場合、sa_restorerの場所がクリアされず、子プロセスに対し親プロセスのアドレス空間の場所が漏洩する。

すなわち、sigaction()を呼び出した時に返されるsa_restorer値を調べることにより、親プロセスのASLRを回避できる可能性がある。

修正

実質的に1行の追加で修正される。

修正は「signal: always clear sa_restorer on execve」と題されている。

         if (force_default || ka->sa.sa_handler != SIG_IGN)
             ka->sa.sa_handler = SIG_DFL;
         ka->sa.sa_flags = 0;
+#ifdef __ARCH_HAS_SA_RESTORER
+        ka->sa.sa_restorer = NULL;
+#endif
         sigemptyset(&ka->sa.sa_mask);
         ka++;
     }
検証

flush_signal_handlers()関数でタスクの全ハンドラーがフラッシュされる。

この処理内で、sa_restorerが初期化されなかったため、結果として情報が子プロセスに渡されてしまっていた。

修正により、NULLを代入することで初期化し、もってこの問題は修正された。

なお、Linuxのmanpageによれば、sa_restorer要素は廃止予定であり使用すべきではない、とある。

リンク
用語の所属
Linuxカーネル
セキュリティホール
脆弱性
関連する用語
ASLR

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic