GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was bewirkt die Aktivierung von kernel.unprivileged_userns_clone?

Das Aktivieren von unprivilegierten Benutzer-Namespaces kann schwerwiegende Sicherheitslücken im Linux-Kernel viel leichter ausnutzbar machen. Wenn Sie es nicht aktivieren wollten, sollten Sie sicherstellen, dass es deaktiviert ist. Zahlreiche Schwachstellen, die regelmäßig gefunden werden sind oft nur dann von unprivilegierten Benutzern ausnutzbar, wenn unprivilegierte Benutzernamensräume vom Kernel unterstützt und aktiviert werden. Wenn Sie es nicht wirklich brauchen, deaktivieren Sie es einfach.

Der Grund dafür ist, dass ein Großteil des Kernels, der nur über die UID 0 erreichbar sein soll, nicht besonders gut geprüft wird, da der Code normalerweise als vertrauenswürdig gilt. Das heißt, ein Fehler, der eine UID von 0 erfordert, wird selten als schwerwiegender Fehler angesehen. Leider machen unprivilegierte Benutzernamensräume dies für unprivilegierte möglich Benutzer auf denselben Code zugreifen und Sicherheitslücken ausnutzen können.

Einige Beispiele für Sicherheitslücken, die nur auf Systemen mit unprivilegierten Benutzernamensräumen ausgenutzt werden können:

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-16120

  • https://brauner.github.io/2019/02/12/privileged-containers.html

  • https://www.halfdog.net/Security/2016/UserNamespaceOverlayfsXattrSetgidPrivilegeEscalation/

  • https://www.halfdog.net/Security/2015/UserNamespaceOverlayfsSetuidWriteExec/

  • https://googleprojectzero.blogspot.com/2017/05/exploiting-linux-kernel-via-packet.html

  • https://seclists.org/fulldisclosure/2016/Feb/123

  • https://seclists.org/oss-sec/2016/q4/607

  • https://www.openwall.com/lists/oss-security/2015/12/31/5

  • https://www.rapid7.com/db/modules/exploit/linux/local/nested_namespace_idmap_limit_priv_esc/

  • https://lwn.net/Articles/543539/

  • https://lwn.net/Articles/543442/


Es deaktiviert ein bisschen "Härtung", die Debian in ihren Distributionskernel einfügt. Wenn Sie keinen solchen Kernel ausführen, wird er fehlschlagen und nichts tun, da eine solche Einstellung nicht einmal im Mainline-Linux-Kernel existiert. Wenn Sie einen solchen gepatchten Kernel ausführen würden, wäre alles, was es tun würde, die Funktionalität dieses Patches zu deaktivieren und Ihren Kernel wie jeden anderen Kernel arbeiten zu lassen, was unprivilegierten Benutzern erlaubt, unshare -U zu verwenden . Entgegen der Antwort von Forest halte ich das nicht für gefährlich. Insbesondere, wenn ein Benutzer sudo kann zu rooten (was erforderlich wäre, um dies auszuschalten), können sie bereits alles tun, was ihnen dies ermöglichen würde.


Linux
  1. Was bedeutet „–“ (Doppelstrich)?

  2. Was bedeutet Echo $? Tun??

  3. Linux – Was bedeutet das virtuelle Kernel-Speicherlayout in Dmesg?

  4. Was gibt malloc(0) zurück?

  5. Was genau macht make oldconfig im Makefile des Linux-Kernels?

Was tun bei einer Linux-Kernel-Panik?

Was macht Libgl_always_indirect=1 eigentlich?

Was macht . ~/.bashrc Befehl Tun??

Was macht poll() mit einem Timeout von 0?

Was bedeutet __init im Linux-Kernel-Code?

Was ist Kernel-IP-Weiterleitung?