sysctl.conf: prevent unintentional writes into attacker-controlled files and FIFOs

Message ID 141827bd-a1b8-e551-9bf5-93f529af485e@ipfire.org
State Accepted
Commit b7b65e736e42be7e7988c4c3efe67ca0f2a05057
Headers
Series sysctl.conf: prevent unintentional writes into attacker-controlled files and FIFOs |

Commit Message

Peter Müller Oct. 5, 2020, 2:12 p.m. UTC
  Similar to hard- and symlink protection introduced a while ago, this
patch enables protections against unintentional writes into
attacker-controlled regular files or FIFOs, where a program expected to
create new ones. This makes exploiting TOCTOU flaws harder.

See also: https://www.kernel.org/doc/Documentation/sysctl/fs.txt

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
---
 config/etc/sysctl.conf | 5 +++++
 1 file changed, 5 insertions(+)
  

Patch

diff --git a/config/etc/sysctl.conf b/config/etc/sysctl.conf
index d48c7734e..be7c07c85 100644
--- a/config/etc/sysctl.conf
+++ b/config/etc/sysctl.conf
@@ -49,6 +49,11 @@  kernel.dmesg_restrict = 1
 fs.protected_symlinks = 1
 fs.protected_hardlinks = 1
 
+# Don't allow writes to files and FIFOs that we don't own in world writable sticky
+# directories, unless they are owned by the owner of the directory.
+fs.protected_fifos = 2
+fs.protected_regular = 2
+
 # Minimal preemption granularity for CPU-bound tasks:
 # (default: 1 msec#  (1 + ilog(ncpus)), units: nanoseconds)
 kernel.sched_min_granularity_ns = 10000000