GNU/Linux >> Znalost Linux >  >> Linux

Co dělá povolení kernel.unprivileged_userns_clone?

Povolení nepřivilegovaných uživatelských jmenných prostorů může výrazně zjednodušit zneužití závažných zranitelností v jádře Linuxu. Pokud jste ji nechtěli povolit, měli byste se ujistit, že je deaktivována. pravidelně se vyskytují četná zranitelnosti jsou často zneužitelné pouze neprivilegovanými uživateli, pokud jsou neprivilegované uživatelské jmenné prostory podporovány a povoleny jádrem. Pokud to opravdu nepotřebujete, prostě to deaktivujte.

Důvodem je to, že velká část jádra, která má být dosažitelná pouze pomocí UID 0, není auditována zvlášť dobře, protože kód je obvykle považován za důvěryhodný. To znamená, že chyba, která vyžaduje UID 0, je zřídka považována za vážnou chybu. Neprivilegované uživatelské jmenné prostory bohužel umožňují neprivilegovaným uživatelům přistupovat ke stejnému kódu a využívat bezpečnostní chyby.

Několik příkladů zranitelností, které lze zneužít pouze na systémech s neprivilegovanými uživatelskými jmennými prostory:

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


Zakáže trochu "zpevnění", které Debian záplatuje do svého distribučního jádra. Pokud takové jádro nepoužíváte, selže a nic neudělá, protože takové nastavení v hlavním linuxovém jádře ani neexistuje. Pokud byste spouštěli takto opravené jádro, jediné, co by udělalo, bylo deaktivovat funkčnost tohoto patche a nechat vaše jádro fungovat jako každé jiné jádro, což by umožnilo neprivilegovaným uživatelům používat unshare -U . Na rozdíl od lesních odpovědí si nemyslím, že by to bylo nebezpečné. Zejména pokud uživatel může sudo do rootu (jak by bylo vyžadováno pro vypnutí), mohou již dělat vše, co by jim to umožnilo.


Linux
  1. Co znamená „–“ (dvojitá pomlčka)?

  2. Co dělá ?

  3. Linux – Co znamená rozložení paměti virtuálního jádra v Dmesg?

  1. Co Libgl_always_indirect=1 ve skutečnosti dělá?

  2. Co vrátí malloc(0)?

  3. Co dělá oldconfig přesně v makefile linuxového jádra?

  1. Co znamená __init v kódu jádra Linuxu?

  2. Co dělá zabít -- -0?

  3. Co znamená echo $? dělat?