A vulnerability in the Linux
mremap(2) system call could allow an authenticated, local attacker to execute arbitrary code with root privileges.
The Linux kernel uses a linked list of vitrual memory area (VMA) descriptors to reference valid regions of the page table for a given process. VMA descriptors include information about the memory area such as start address, length, and page protection flags. A VMA effectively contains a range of page table entries (PTEs) that make up part of the page table.
mremap(2) system call has the ability to resize or move a VMA or part of a VMA within a process' memory space.
mremap(2) contains a function called
do_munmap() that is used to unmap regions of memory during resize or move operations. There is a limit on the number of VMA descriptors that can exist at one time, and
do_munmap() does not create a new VMA descriptor if doing so would exceed this limit.
In certain cases,
mremap(2) does not properly check the return value from the
do_munmap() function, and will map PTEs to new locations even though the expected VMAs have not been created or updated. By carefully manipulating VMA to PTE relationships, a local attacker can read from or write to memory owned by a process running with different privileges.
Further technical details are available in an advisory from iSEC. Note that this vulnerability is distinct from the one described in VU#490620/CAN-2003-0985.
An authenticated, local attacker could execute arbitrary code with root privileges.
Patch or Upgrade
Vendor| Status| Date Notified| Date Updated
Astaro| | -| 25 Mar 2004
Conectiva| | 10 Mar 2004| 11 Mar 2004
Debian| | 10 Mar 2004| 11 Mar 2004
Fedora Legacy Project| | -| 25 Mar 2004
Fedora Project| | -| 25 Mar 2004
Gentoo Linux| | -| 11 Mar 2004
Linux Kernel Archives| | -| 10 Mar 2004
Linux Netwosix| | -| 25 Mar 2004
MandrakeSoft| | 10 Mar 2004| 25 Mar 2004
Openwall GNU/*/Linux| | 10 Mar 2004| 25 Mar 2004
Red Hat Inc.| | 10 Mar 2004| 11 Mar 2004
SGI| | 10 Mar 2004| 25 Mar 2004
Slackware| | -| 25 Mar 2004
SmoothWall| | -| 11 Mar 2004
Sun Microsystems Inc.| | 10 Mar 2004| 25 Mar 2004
If you are a vendor and your product is affected, let us know.
Group | Score | Vector
Base | N/A | N/A
Temporal | N/A | N/A
Environmental | N/A | N/A
This vulnerability was researched and reported by Paul Starzetz of iSEC.
This document was written by Art Manion.