CVE-2010-3858: Medium severity linux kernel vulnerability
Description of problem: The CONFIGSTACKGROWSDOWN variant of setupargpages() does not check the size of the argument/environment area on the stack. When it is unworkably large, shiftargpages() hits its BUGON. This is exploitable with a very large RLIMITSTACK limit, to create a crash pretty easily. Check that the initial stack is not too large to make it possible to map in any executable. We're not checking that the actual executable (or intepreter, for binfmtelf) will fit. So those mappings might clobber part of the initial stack mapping. But that is just userland lossage that userland made happen, not a kernel problem.
Upstream commit: http://git.kernel.org/linus/1b528181b2ffa14721fb28ad1bd539fe1732c583
Reference: http://grsecurity.net/~spender/64bitdos.c
Acknowledgements:
Red Hat would like to thank Brad Spengler for reporting this issue.
Other sources
The setupargpages function in fs/exec.c in the Linux kernel before 2.6.36, when CONFIGSTACKGROWSDOWN is used, does not properly restrict the stack memory consumption of the (1) arguments and (2) environment for a 32-bit application on a 64-bit platform, which allows local users to cause a denial of service (system crash) via a crafted exec system call, a related issue to CVE-2010-2240.
— Launchpad
Affected Software
Remediation
Patch Available
Patch Available
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2010-3858?
CVE-2010-3858 is considered a high severity vulnerability as it can lead to a denial of service through a system crash.
How do I fix CVE-2010-3858?
To fix CVE-2010-3858, it is recommended to upgrade to a version of the Linux kernel that is higher than 2.6.36.
Which versions of Linux are affected by CVE-2010-3858?
CVE-2010-3858 affects the Linux kernel versions up to and including 2.6.36, as well as specific Debian and Ubuntu distributions.
What type of exploitation vector is associated with CVE-2010-3858?
CVE-2010-3858 can be exploited by setting a very large RLIMIT_STACK limit, allowing attackers to cause a crash.
Is there a known proof of concept for CVE-2010-3858?
Yes, there is a known proof of concept for CVE-2010-3858 that demonstrates the denial of service attack vector.