GNU/Linux >> Linux Esercitazione >  >> Linux

Cosa fa l'abilitazione di kernel.unprivileged_userns_clone?

L'abilitazione di spazi dei nomi utente senza privilegi può rendere le gravi vulnerabilità nel kernel Linux molto più facilmente sfruttabili. Se non intendevi abilitarlo, assicurati che sia disabilitato. Numerose vulnerabilità che vengono rilevate regolarmente sono spesso sfruttabili solo da utenti non privilegiati se gli spazi dei nomi degli utenti non privilegiati sono supportati e abilitati dal kernel. A meno che tu non ne abbia davvero bisogno, disabilitalo.

La ragione di ciò è che gran parte del kernel che dovrebbe essere raggiungibile solo dall'UID 0 non viene verificato particolarmente bene, dato che il codice è generalmente considerato attendibile. Cioè, un bug che richiede un UID pari a 0 è raramente considerato un bug serio. Sfortunatamente, i namespace degli utenti senza privilegi rendono possibile senza privilegi utenti di accedere a questo stesso codice e sfruttare bug di sicurezza.

Alcuni esempi di vulnerabilità sfruttabili solo su sistemi con spazi dei nomi utente non privilegiati:

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


Disabilita un po' di "rafforzamento" che Debian corregge nel proprio kernel di distribuzione. Se non stai eseguendo un kernel di questo tipo, fallirà e non farà nulla, poiché tale impostazione non esiste nemmeno nel kernel Linux principale. Se stessi eseguendo un kernel con tale patch, tutto ciò che farebbe è disabilitare la funzionalità di quella patch e lasciare che il tuo kernel funzioni come ogni altro kernel, consentendo agli utenti non privilegiati di utilizzare unshare -U . Contrariamente alla risposta di Forest, non credo che questo sia pericoloso. In particolare, se un utente può sudo per eseguire il root (come sarebbe necessario per disattivare questa funzione), possono già fare tutto ciò che ciò consentirebbe loro di fare.


Linux
  1. Cosa fa Eco $? Fare??

  2. Linux:cosa implica il layout della memoria del kernel virtuale in Dmesg?

  3. Cosa fa effettivamente Libgl_always_indirect=1?

  4. Cosa fa . ~/.bashrc Comando Fare??

  5. Cosa restituisce malloc(0)?

Cosa fare in caso di panico del kernel Linux

Cosa fa "lc_all=c"?

Cosa fa ?

Cosa fa Exec 3?

Cosa fa poll() con un timeout pari a 0?

Cosa significa 'cd-'?