Messages in this thread | | | Date | Sat, 7 Nov 2009 11:20:07 +0100 (CET) | From | Jiri Kosina <> | Subject | Re: Using x86 segments against NULL pointer deference exploit |
| |
On Fri, 6 Nov 2009, H. Peter Anvin wrote:
> Yes, it is. On 32 bits it is possible to switch around segments and do > this (in which case you want it to only cover the actual kernel area, > and use USER_DS for all user-space references.) This also lets you drop > nearly all pointer-range checks, since they are now redundant. > However, there is a cost -- it pretty much requires a segment register > for USER_DS (this used to be fs once upon a time, hence set_fs) and > probably would break Xen and possibly other virtualization solutions.
There are ways to work around this though (UDEREF implementation of this technique in PaX explicitly checks for VMWare signature and handles such case differently ... I guess the same could be done for other virtualization solutions).
Not that it would be particularly nice of course ...
-- Jiri Kosina SUSE Labs, Novell Inc.
| |