CVE-2010-3301
Published: 15 September 2010
The IA32 system call emulation functionality in arch/x86/ia32/ia32entry.S in the Linux kernel before 2.6.36-rc4-git2 on the x86_64 platform does not zero extend the %eax register after the 32-bit entry path to ptrace is used, which allows local users to gain privileges by triggering an out-of-bounds access to the system call table using the %rax register. NOTE: this vulnerability exists because of a CVE-2007-4573 regression.
From the Ubuntu Security Team
Ben Hawkes discovered that the Linux kernel did not correctly filter registers on 64bit kernels when performing 32bit system calls. On a 64bit system, a local attacker could manipulate 32bit system calls to gain root privileges.
Notes
Author | Note |
---|---|
kees | only exploitable on x86_64, regression of CVE-2007-4573 was originally fixed in 2.6.22, but regressed after this commit: http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.35.y.git;a=commitdiff;h=d4d67150165df8bf1cc05e532f6efca96f907cab |
smb | Which was 2.6.27 upstream, the original fix was in 2.6.23 |
kees | it was later discovered that the Xen kernels (linux-ec2) needed an additional patch. |
Priority
Status
References
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3301
- https://ubuntu.com/security/notices/USN-988-1
- https://ubuntu.com/security/notices/USN-1041-1
- https://ubuntu.com/security/notices/USN-1074-1
- https://ubuntu.com/security/notices/USN-1074-2
- https://ubuntu.com/security/notices/USN-1083-1
- NVD
- Launchpad
- Debian