Bug 645222 (CVE-2010-3858) - CVE-2010-3858 kernel: setup_arg_pages: diagnose excessive argument size
Summary: CVE-2010-3858 kernel: setup_arg_pages: diagnose excessive argument size
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2010-3858
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 645223 645224 645225 645226 645227 645228 645229
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-10-21 03:52 UTC by Eugene Teo (Security Response)
Modified: 2019-09-29 12:40 UTC (History)
19 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-03-28 08:44:14 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0958 normal SHIPPED_LIVE Important: kernel-rt security and bug fix update 2010-12-08 19:08:55 UTC
Red Hat Product Errata RHSA-2011:0004 normal SHIPPED_LIVE Important: kernel security, bug fix, and enhancement update 2011-01-04 16:52:05 UTC
Red Hat Product Errata RHSA-2011:0836 normal SHIPPED_LIVE Important: kernel security and bug fix update 2011-06-01 19:56:53 UTC

Description Eugene Teo (Security Response) 2010-10-21 03:52:21 UTC
Description of problem:
The CONFIG_STACK_GROWSDOWN variant of setup_arg_pages() does not check the size of the argument/environment area on the stack. When it is unworkably large, shift_arg_pages() hits its BUG_ON. This is exploitable with a very large RLIMIT_STACK 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 binfmt_elf) 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/64bit_dos.c

Acknowledgements:

Red Hat would like to thank Brad Spengler for reporting this issue.

Comment 2 errata-xmlrpc 2010-12-08 19:09:27 UTC
This issue has been addressed in following products:

  MRG for RHEL-5

Via RHSA-2010:0958 https://rhn.redhat.com/errata/RHSA-2010-0958.html

Comment 3 errata-xmlrpc 2011-01-04 16:52:39 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2011:0004 https://rhn.redhat.com/errata/RHSA-2011-0004.html

Comment 4 Eugene Teo (Security Response) 2011-01-27 06:55:23 UTC
Statement:

This issue did not affect the versions of Linux kernel as shipped with Red Hat
Enterprise Linux 4 as they did not backport the upstream commit b6a2fea3 that introduced the issue. This was addressed in Red Hat Enterprise Linux 5 and Red Hat Enterprise MRG via https://rhn.redhat.com/errata/RHSA-2011-0004.html and 
https://rhn.redhat.com/errata/RHSA-2010-0958.html. Future kernel updates in Red Hat Enterprise Linux 6 may address this flaw.

Comment 7 errata-xmlrpc 2011-06-01 19:56:58 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 6

Via RHSA-2011:0836 https://rhn.redhat.com/errata/RHSA-2011-0836.html


Note You need to log in before you can comment on or make changes to this bug.