summaryrefslogtreecommitdiffstats
path: root/man/systemd.exec.xml
diff options
context:
space:
mode:
authorTopi Miettinen <toiwoton@gmail.com>2016-10-26 17:52:53 +0200
committerTopi Miettinen <toiwoton@gmail.com>2016-10-26 17:59:14 +0200
commitd2ffa389b8112282be1633bb4638f6f47e159299 (patch)
tree302dea53e6baa7c26521de3da308ab77b3a5e034 /man/systemd.exec.xml
parentman: document that systemctl cat shows file content (#4488) (diff)
downloadsystemd-d2ffa389b8112282be1633bb4638f6f47e159299.tar.xz
systemd-d2ffa389b8112282be1633bb4638f6f47e159299.zip
seccomp: also block shmat(..., SHM_EXEC) for MemoryDenyWriteExecute
shmat(..., SHM_EXEC) can be used to create writable and executable memory, so let's block it when MemoryDenyWriteExecute is set.
Diffstat (limited to 'man/systemd.exec.xml')
-rw-r--r--man/systemd.exec.xml11
1 files changed, 7 insertions, 4 deletions
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index dbe4594730..f9a15d8db0 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -1516,12 +1516,15 @@
<term><varname>MemoryDenyWriteExecute=</varname></term>
<listitem><para>Takes a boolean argument. If set, attempts to create memory mappings that are writable and
- executable at the same time, or to change existing memory mappings to become executable are prohibited.
+ executable at the same time, or to change existing memory mappings to become executable, or mapping shared memory
+ segments as executable are prohibited.
Specifically, a system call filter is added that rejects
<citerefentry><refentrytitle>mmap</refentrytitle><manvolnum>2</manvolnum></citerefentry>
- system calls with both <constant>PROT_EXEC</constant> and <constant>PROT_WRITE</constant> set
- and <citerefentry><refentrytitle>mprotect</refentrytitle><manvolnum>2</manvolnum></citerefentry>
- system calls with <constant>PROT_EXEC</constant> set. Note that this option is incompatible with programs
+ system calls with both <constant>PROT_EXEC</constant> and <constant>PROT_WRITE</constant> set,
+ <citerefentry><refentrytitle>mprotect</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ system calls with <constant>PROT_EXEC</constant> set and
+ <citerefentry><refentrytitle>shmat</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+ system calls with <constant>SHM_EXEC</constant> set. Note that this option is incompatible with programs
that generate program code dynamically at runtime, such as JIT execution engines, or programs compiled making
use of the code "trampoline" feature of various C compilers. This option improves service security, as it makes
harder for software exploits to change running code dynamically.