1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00

Predictable address space layout is only a problem on freebsd.

Copied from Perforce
 Change: 192305
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2016-09-12 13:58:00 +01:00
parent 8523b6f666
commit 2e583c6992

View file

@ -11,20 +11,19 @@ the MPS.
.. index::
pair: security issues; predictable address space layout
single: address space; predictable layout
pair: security issues; predictable address space layout on FreeBSD
single: address space; predictable layout on FreeBSD
Predictable address space layout
--------------------------------
Predictable address space layout on FreeBSD
-------------------------------------------
The MPS acquires :term:`address space` using the operating system's
:term:`virtual memory` interface (specifically, :c:func:`mmap` on Unix
platforms, and :c:func:`VirtualAlloc` on Windows). None of the
supported platforms randomize the allocated regions of address space,
which means that the :term:`addresses` of :term:`blocks` allocated by
the MPS are predictable: a :term:`client program` that makes an
identical series of calls to the MPS gets an identical series of
addresses back.
:term:`virtual memory` interface (specifically, :c:func:`mmap` on
FreeBSD). As of version 10, FreeBSD does not randomize the allocated
regions of address space, which means that the :term:`addresses` of
:term:`blocks` allocated by the MPS are predictable: a :term:`client
program` that makes an identical series of calls to the MPS gets an
identical series of addresses back.
This means that if a program using the MPS has a buffer overflow, the
overflow is more easily exploitable by an attacker than if the program
@ -35,6 +34,10 @@ determine the address of allocated structures.
There is currently no workaround for this issue. If this affects you,
please :ref:`contact us <contact>`.
Other supported platforms are unaffected by this issue: Linux and OS X
randomize the addresses allocated by :c:func:`mmap`, and Windows
randomizes the addresses allocated by :c:func:`VirtualAlloc`.
.. index::
pair: security issues; address disclosure