GNU/Linux >> Tutoriels Linux >  >> Linux

Que fait l'activation de kernel.unprivileged_userns_clone ?

L'activation d'espaces de noms d'utilisateurs non privilégiés peut rendre les vulnérabilités graves du noyau Linux beaucoup plus facilement exploitables. Si vous n'aviez pas l'intention de l'activer, vous devez vous assurer qu'il est désactivé. De nombreuses vulnérabilités trouvées régulièrement ne sont souvent exploitables que par des utilisateurs non privilégiés si les espaces de noms d'utilisateurs non privilégiés sont pris en charge et activés par le noyau. À moins que vous n'en ayez vraiment besoin, désactivez-le simplement.

La raison en est qu'une grande partie du noyau qui est uniquement destinée à être accessible par l'UID 0 n'est pas particulièrement bien auditée, étant donné que le code est généralement considéré comme fiable. Autrement dit, un bogue qui nécessite un UID de 0 est rarement considéré comme un bogue sérieux. Malheureusement, les espaces de noms d'utilisateurs non privilégiés permettent aux utilisateurs non privilégiés utilisateurs d'accéder à ce même code et d'exploiter les bogues de sécurité.

Quelques exemples de vulnérabilités exploitables uniquement sur des systèmes avec des espaces de noms d'utilisateurs non privilégiés :

  • 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/


Cela désactive un peu le "renforcement" que Debian corrige dans son noyau de distribution. Si vous n'exécutez pas un tel noyau, il échouera et ne fera rien, car un tel paramètre n'existe même pas dans le noyau Linux principal. Si vous exécutiez un tel noyau patché, tout ce qu'il ferait serait de désactiver la fonctionnalité de ce patch et de laisser votre noyau fonctionner comme tous les autres noyaux, permettant aux utilisateurs non privilégiés d'utiliser unshare -U . Contrairement à la réponse de Forest, je ne pense pas que cela soit dangereux. En particulier, si un utilisateur peut sudo root (comme cela serait nécessaire pour le désactiver), ils peuvent déjà faire tout ce que cela leur permettrait de faire.


Linux
  1. Que signifie "-" (double tiret) ?

  2. Qu'est-ce que c'est ?

  3. Que fait Exec 3 ?

  4. Qu'est-ce que Echo $ ? Faire??

  5. Linux - Qu'implique la disposition de la mémoire du noyau virtuel dans Dmesg ?

Que faire en cas de panique du noyau Linux

Que fait "lc_all=c" ?

Que fait poll() avec un timeout de 0 ?

Que signifie __init dans le code du noyau Linux ?

Qu'est-ce que le transfert IP du noyau ?

Qu'est-ce que echo $ ? fais?