Habilitar espacios de nombres de usuario sin privilegios puede hacer que las vulnerabilidades graves en el kernel de Linux sean mucho más fáciles de explotar. Si no tenía la intención de habilitarlo, debe asegurarse de que esté deshabilitado. Numerosas vulnerabilidades que se encuentran regularmente a menudo solo pueden ser explotados por usuarios sin privilegios si el kernel admite y habilita espacios de nombres de usuarios sin privilegios. A menos que realmente lo necesite, simplemente desactívelo.
La razón de esto es que gran parte del kernel que solo está destinado a ser accesible por UID 0 no se audita particularmente bien, dado que el código generalmente se considera confiable. Es decir, un error que requiere un UID de 0 rara vez se considera un error grave. Desafortunadamente, los espacios de nombres de usuario sin privilegios hacen posible que sin privilegios usuarios para acceder a este mismo código y explotar errores de seguridad.
Algunos ejemplos de vulnerabilidades que solo se pueden explotar en sistemas con espacios de nombres de usuario sin privilegios:
-
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/
Deshabilita un poco el "endurecimiento" que Debian parchea en su kernel de distribución. Si no está ejecutando dicho kernel, fallará y no hará nada, ya que tal configuración ni siquiera existe en el kernel principal de Linux. Si estuviera ejecutando un kernel parcheado, todo lo que haría sería deshabilitar la funcionalidad de ese parche y dejar que su kernel funcione como cualquier otro kernel, permitiendo a los usuarios sin privilegios usar unshare -U
. Contrariamente a la respuesta del bosque, no creo que esto sea peligroso. En particular, si un usuario puede sudo
para rootear (como sería necesario para desactivarlo), ya pueden hacer todo lo que esto les permitiría hacer.