Why don't they just force the use of the no-execute page table (on processors that support it) for all kernel mappings of user space? Then there would be no way cause the execution of user code even if there are additional missing NULL pointer checks?
Posted Aug 18, 2009 17:56 UTC (Tue) by fuhchee (subscriber, #40059)
[Link]
Why don't they just force the use of the no-execute page table (on processors that support it) for all kernel mappings of user space?
Perhaps that would destroy the performance benefits of sharing the VM
information between kernel & user space (since the flag would have to be toggled on & off).
Then there would be no way cause the execution of user code even if there are additional missing NULL pointer checks?
There's also "return-oriented programming", a technique for breaking into even suchly configured machines.
Null pointers, one month later
Posted Aug 19, 2009 1:26 UTC (Wed) by zlynx (subscriber, #2285)
[Link]
Overwriting return addresses won't work on IA64. We should all switch.
:-)
Null pointers, one month later
Posted Aug 19, 2009 4:04 UTC (Wed) by bojan (subscriber, #14302)
[Link]