Bug 460858 - kernel: devmem: add range_is_allowed() check to mmap_mem() [rhel-5.2.z]
kernel: devmem: add range_is_allowed() check to mmap_mem() [rhel-5.2.z]
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
high Severity high
: rc
: ---
Assigned To: Jiri Pirko
Martin Jenner
: ZStream
Depends On: 460857
  Show dependency treegraph
Reported: 2008-09-02 00:12 EDT by Eugene Teo (Security Response)
Modified: 2015-05-04 21:15 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-11-04 05:30:11 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Eugene Teo (Security Response) 2008-09-02 00:12:58 EDT
+++ This bug was initially created as a clone of Bug #460857 +++

Description of problem:
Eugene Teo discovered that range_is_allowed() check is only added in {read,write}_mem(). It is possible for an illegitimate application to bypass these checks, and access /dev/mem beyond the 1M limit by calling mmap_mem() instead.

--- Additional comment from eteo@redhat.com on 2008-09-02 00:06:23 EDT ---

phalanx2 rootkit uses mmap to bypass the check, and access /dev/mem between 0 and 8000000.

By adding the range_is_allow() check in mmap_mem(), it is possible to prevent phalanx2 or any other illegitimate application from injecting code into /dev/mem.

|           phalanx2          |
|       %rebel% . 2008        |
AUDIT_STATUS: enabled=0 flag=1 pid=4436 rate_limit=0 backlog_limit=320 lost=0 backlog=0
:( could not map memory
mmap2(NULL, 134217728, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = -1 EPERM (Operation not permitted)


--- Additional comment from eteo@redhat.com on 2008-09-02 00:07:32 EDT ---

This appears to be fixed in upstream since commit e2beb3eae.
Comment 1 RHEL Product and Program Management 2008-09-02 04:44:02 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
Comment 3 Jiri Pirko 2008-10-13 09:52:42 EDT
in kernel-2.6.18-92.1.15.el5

you can download RPMs from http://people.redhat.com/jpirko/.el52z/92.1.15/
Comment 7 errata-xmlrpc 2008-11-04 05:30:11 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


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