Bug 294941 (CVE-2007-3739) - CVE-2007-3739 LTC36188-Don't allow the stack to grow into hugetlb reserved regions
Summary: CVE-2007-3739 LTC36188-Don't allow the stack to grow into hugetlb reserved re...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2007-3739
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
urgent
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 247658 253313 294951 294971 294981
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-09-18 15:44 UTC by Mark J. Cox
Modified: 2021-11-12 19:42 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-11-01 13:33:51 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2007:0939 0 normal SHIPPED_LIVE Important: kernel security update 2008-01-07 18:58:13 UTC
Red Hat Product Errata RHSA-2007:1049 0 normal SHIPPED_LIVE Important: kernel security and bug fix update 2007-12-03 15:37:55 UTC

Description Mark J. Cox 2007-09-18 15:44:35 UTC
From Adam Litke's mail to LKML (http://lkml.org/lkml/2007/1/29/180):

[PATCH] Don't allow the stack to grow into hugetlb reserved regions
    
    When expanding the stack, we don't currently check if the VMA will cross
    into an area of the address space that is reserved for hugetlb pages.
    Subsequent faults on the expanded portion of such a VMA will confuse the
    low-level MMU code, resulting in an OOPS.  Check for this.

Comment 1 Mark J. Cox 2007-09-18 15:46:02 UTC
see bz#253313 for more details

Comment 4 Jan Lieskovsky 2007-11-07 12:06:06 UTC
This CVE also affects RHEL-3 (advisory has not been filled yet). On the 
ppc there is in mm/mmap.c file function called "expand_stack" which has
the same function as that one mentioned in the patch. This also checks first,
if there is enough memory to allocate, then checks if the stack wasn't 
expanded by some other thread and if not, checks the address space limits.
If none from these tests passes, the stack is expanded. But before this 
increase one yet check should be added -- if the address space we would
like to allocate doesn't belong to the huge_tlb_only space.



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