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.

Priority

High

Status

Package Release Status
linux
Launchpad, 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
linux-ec2
Launchpad, Ubuntu, Debian
Upstream
Released (2.6.36~rc5)
linux-fsl-imx51
Launchpad, Ubuntu, Debian
Upstream
Released (2.6.36~rc5)
linux-lts-backport-maverick
Launchpad, Ubuntu, Debian
Upstream
Released (2.6.36~rc5)
linux-source-2.6.15
Launchpad, Ubuntu, Debian
Upstream
Released (2.6.36~rc5)

Notes

AuthorNote
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.

References

Bugs