2009-07-18 (Sat) [長年日記]

_ [sec][mo]Linux カーネルと GCC で可能になる exploit とか

の件に付随して、

とか(cr0 blog: Bypassing Linux' NULL pointer dereference exploit prevention (mmap_min_addr) とは別件か。しかしそのコメント欄には SELinux のことも書いてある)、

Why is it so fascinating? Because a source code audit of the vulnerable code would never find this vulnerability (well, actually, it is possible but I assure you that almost everyone would miss it). However, when you add some other variables into the game, the whole landscape changes.

と言ってる人がいたりとか(Linux 開発では null dereference は OK なのかなぁ)、本件以外のツッコミどころが色々あるような気がするけど、まだ悪用されていた形跡はなさそうで何より。

「-fno-delete-null-pointer-checks なんて知らないよ」と思ったけど、man gcc にはちゃんと

The compiler assumes that dereferencing a null pointer would have halted the program. If a pointer is checked after it has already been dereferenced, it cannot be null. In some environments, this assumption is not true, and programs can safely dereference null pointers. Use -fno-delete-null-pointer-checks to disable this optimization for programs which depend on that behavior.

と書いてあった。 それにしても warning は出ないのかな。出てても無視したのかな。

追記

Slashdotでも取り上げられたみたい。

[]

«前の日記(2009-06-30 (Tue)) 最新