ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
Linuxカーネルに存在した脆弱性の一つ。ASLR保護メカニズムを回避される脆弱性。
MITRE社の脆弱性情報データベースCommon Vulnerabilities and Exposures(CVE)に登録されている脆弱性の一つ。
ログイン可能な一般ユーザーにより、sigactionシステムコールを含む巧妙に細工されたアプリケーションを介し、ASLR保護メカニズムを回避される可能性があるセキュリティホールである。
Emese Revfy氏により発見された。
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要素は廃止予定であり使用すべきではない、とある。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます