CVE-2010-3301

Priority
High
Description
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.
Ubuntu-Description
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.
References
Bugs
Notes
 kees> only exploitable on x86_64, regression of CVE-2007-4573
 kees> was originally fixed in 2.6.22, but regressed after this commit:
 kees> 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.
Assigned-to
smb
Package
Upstream:released (2.6.36~rc5)
Package
Upstream:released (2.6.36~rc5)
Package
Upstream:released (2.6.36~rc5)
Package
Upstream:released (2.6.36~rc5)
Package
Source: linux (LP Ubuntu Debian)
Upstream:released (2.6.36~rc5)
Patches:
Upstream:http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=36d001c70d8a0144ac1d038f6876c484849a74de
Upstream:http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=eefdca043e8391dcd719711716492063030b55ac
Jaunty:http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-3301/patches/jaunty/linux/0001-x86-64-compat-Test-rax-for-the-syscall-number-not-eax.txt
Jaunty:http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-3301/patches/jaunty/linux/0002-x86-64-compat-Retruncate-rax-after-ia32-syscall-entry-.txt
Karmic:http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-3301/patches/karmic/linux/0001-x86-64-compat-Test-rax-for-the-syscall-number-not-eax.txt
Karmic:http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-3301/patches/karmic/linux/0002-x86-64-compat-Retruncate-rax-after-ia32-syscall-entry-.txt
Lucid:http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-3301/patches/lucid/linux/0001-x86-64-compat-Test-rax-for-the-syscall-number-not-eax.txt
Lucid:http://chinstrap.ubuntu.com/~smb/CVEs/CVE-2010-3301/patches/lucid/linux/0002-x86-64-compat-Retruncate-rax-after-ia32-syscall-entry-.txt
More Information

Updated: 2018-06-26 04:37:34 UTC (commit 7799c934cca373482531a7b00e4dfe82302ceae5)