[Lguest] [PATCH] lguest: Fix Malicious Guest GDT Host Crash
Rusty Russell
rusty at rustcorp.com.au
Fri Aug 10 22:04:00 EST 2007
On Thu, 2007-08-09 at 08:45 -0700, Zachary Amsden wrote:
> Rusty Russell wrote:
> > We kill the Guest if it causes a fault in the Switcher: it's the
> > Guest's responsibility to make sure it's not using segments when it
> > changes them.
>
> Linux doesn't obey that rule. It changes descriptors behind FS/GS all
> over the place. Well, not all over the place, only when updating LDT
> entries
Hi Zach,
I think it's OK. To clarify, it's only fatal when the guest changes
them in a way that will fault if they're reloaded: not any change.
Lguest doesn't support LDT, so that's not a problem.
> , TLS entries, and during context switch.
These two go through load_TLS -> lguest_load_tls which is patched by
this same change to load 0 into gs before doing the hypercall. The
other segment registers are set by the kernel, and so we know they don't
refer to changing entries.
Is there anything I've missed?
Rusty.
More information about the Lguest
mailing list