通信用語の基礎知識 IPv4
戻る
全国のICカードこれひとつ

CVE-2013-0914

辞書:電算用語の基礎知識 ソフト用語編 (PYSOFT)
読み:スィーヴィーイー・にーゼロいちさん・ゼロきゅういちよん
外語:CVE-2013-0914 英語
品詞:固有名詞
2013/06/03 作成
2013/09/04 更新

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

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

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

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

  • 影響: Linux Kernel < 3.8.4
  • 他の符号
    • JVNDB-2013-001997

問題

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

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


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