mmap giving Permission Denied error
Yann Droneaud
ydroneaud at opteya.com
Sat Mar 8 07:36:43 EST 2014
Hi,
Le samedi 21 septembre 2013 à 18:55 +0530, Ravi Teja a écrit :
> I tried mmap'ing to address zero after
> setting /proc/sys/vm/mmap_min_addr to 0, but mmap is giving Permission
> Denied error.
>
Le vendredi 28 février 2014 à 07:39 +0000, Dongyan Yang a écrit :
> I've got the same problem as you. I've set mmap_min_addr as 0 and when
I
> intentionally use MAP_FIXED to mmap to 0x00000000. I've got error
> "Permission Denied".
>
Too many reason why you're denied from mapping a page at 0x0.
- /proc/sys/vm/mmap_min_addr, but you already enable it
sysctl -w vm.mmap_min_addr=0
- capabilities: your process need to have CAP_SYS_RAWIO
running it at root is likely to give the aforementioned capability.
- SELinux: you're running your process in a context that deny mapping
page 0
check with: getselinux mmap_low_allowed
temporary allow with: setselinux mmap_low_allowed=on
But allowing mapping page 0 is widening exposure to null pointer
dereferences exploit. You should think very carefully before allowing
such.
"Bypassing Linux' NULL pointer dereference exploit prevention
(mmap_min_addr)", Friday, June 26, 2009, Julien Tinnes
http://blog.cr0.org/2009/06/bypassing-linux-null-pointer.html
"Fun with NULL pointers, part 1" , Jonathan Corbet, July 20, 2009
http://lwn.net/Articles/342330/
"Fun with NULL pointers, part 2" By Jonathan Corbet, July 21, 2009
http://lwn.net/Articles/342420/
"mmap_min_addr on SELinux and non-SELinux systems", Eric Paris, July
21st, 2009
http://eparis.livejournal.com/606.html
"Confining the unconfined. Oxymoron?", Dan Walsh, July 21st, 2009
http://danwalsh.livejournal.com/30084.html
"Bug 511143 - selinux policy allows addr 0 mappings by default", July
13, 2009
https://bugzilla.redhat.com/show_bug.cgi?id=511143
"Security-Enhanced Linux (SELinux) policy and the mmap_min_addr
protection (CVE-2009-2695)"
https://access.redhat.com/site/articles/17995
"How do I mitigate against NULL pointer dereference vulnerabilities?"
https://access.redhat.com/site/articles/20484
"SELinux hardening for mmap_min_addr protections" Eric Paris August
26th, 2009
http://eparis.livejournal.com/891.html
"Much ado about NULL: Exploiting a kernel NULL dereference"
By Nelson Elhage on Apr 12, 2010
https://blogs.oracle.com/ksplice/entry/much_ado_about_null_exploiting1
Regards.
--
Yann Droneaud
OPTEYA
More information about the Kernelnewbies
mailing list