Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

xen: easy DoS... tiring



An issue I found some time ago: xen_failsafe_handler panics, but the
interrupt it is called from can be triggered by userland.

For example, userland can make iretq fault by changing the %eip of a traced
32bit process, and making it point to > VM_MAXUSER_ADDRESS32. Xen then
jumps into failsafe_callback, which calls xen_failsafe_handler. See [1]:

	$ gcc -m32 child32 child32.c
	$ gcc -o ptrace ptrace.c
	$ ./child32 &
	$ ./ptrace pid_of_child32
	-> panic

I tried to fix it, by returning into the original context but in resume_iret
that would reconstruct the frame and call trap with T_PROTFLT. But I remember
that it produced some bizarre behavior that I didn't understand, and it was
too tiring to reverse engineer the undocumented xen code.

I'm posting this here with the hope someone interested enough can fix it...

Maxime

[1] http://m00nbsd.net/garbage/xen/


Home | Main Index | Thread Index | Old Index