Zjištěna chyba zabezpečení v implementaci TIPC jádra Linuxu

Nedávno to zprávy prolomily bezpečnostní výzkumník identifikoval kritickou zranitelnost (již uvedeno pod CVE-2021-43267) při implementaci síťového protokolu TIPC dodávaný v jádře Linuxu, který umožňuje vzdálené spouštění kódu s právy jádra odesláním speciálně vytvořeného síťového paketu.

Nebezpečí problému je zmírněno tím, že útok vyžaduje explicitní povolení podpory TIPC v systému (načtením a konfigurací modulu jádra tipc.ko), což se u nelinuxových distribucí standardně nedělá.

CodeQL je analytický stroj, který vám umožňuje spouštět dotazy na váš kód. Z hlediska zabezpečení vám to může umožnit najít zranitelná místa pouhým popisem jejich vzhledu. CodeQL se poté spustí a najde všechny výskyty této chyby zabezpečení.

TIPC je podporován od jádra Linuxu 3.19, ale kód vedoucí k této zranitelnosti byl zahrnut v jádře 5.10.. Protokol TIPC byl původně vyvinut společností Ericsson, je určen k organizaci meziprocesní komunikace v clusteru a je aktivován hlavně na uzlech clusteru.

TIPC může pracovat jak přes Ethernet, tak přes UDP (síťový port 6118). V případě práce přes Ethernet lze útok provést z lokální sítě a při použití UDP z globální sítě, pokud port není pokryt firewallem. Útok může provést i místní uživatel bez oprávnění na hostiteli. Chcete-li aktivovat TIPC, musíte načíst modul jádra tipc.ko a nakonfigurovat propojení se síťovým rozhraním pomocí netlink nebo utility tipc.

Protokol je implementován v modulu jádra dodávaném se všemi hlavními distribucemi Linuxu. Když je načten uživatelem, může být použit jako konektor a může být konfigurován v rozhraní pomocí netlink (nebo pomocí nástroje uživatelského prostoru tipc, který bude tato volání netlink provádět) jako neprivilegovaný uživatel.

TIPC lze nakonfigurovat tak, aby fungoval přes nosný protokol, jako je Ethernet nebo UDP (v druhém případě jádro naslouchá na portu 6118 příchozím zprávám z jakéhokoli počítače). Protože uživatel s nízkými oprávněními nemůže vytvářet nezpracované ethernetové rámce, nastavení nosiče na UDP usnadňuje zápis lokálního exploitu.

Chyba zabezpečení se projevuje ve funkci tipc_crypto_key_rc a je způsobena nedostatečným řádným ověřením korespondence mezi tím, co je uvedeno v hlavičce, a skutečnou velikostí dat při analýze paketů s typem MSG_CRYPTO používaným k získání šifrovacích klíčů z jiných uzlů v clusteru za účelem pozdějšího dešifrování zpráv odeslaných z těchto uzlů.

Velikost dat zkopírovaných do paměti se vypočítá jako rozdíl mezi hodnotami polí s velikostí zprávy a velikostí záhlaví, ale bez zohlednění skutečné velikosti názvu přenášeného šifrovacího algoritmu. ve zprávě a obsahu klíče.

Předpokládá se, že velikost názvu algoritmu je pevná a navíc je klíči předán samostatný atribut s velikostí a útočník může v tomto atributu zadat hodnotu, která se liší od skutečné hodnoty, což povede k zápisu do fronta zprávy mimo přidělenou vyrovnávací paměť.

Tato chyba zabezpečení je opravena v jádrech 5.15.0, 5.10.77 a 5.14.16, ačkoli se problém objevuje a dosud nebyl opraven v Debianu 11, Ubuntu 21.04 / 21.10, SUSE (ve větvi SLE15-SP4 dosud nevydané), RHEL (zatím není podrobně popsáno, pokud bylo zranitelné řešení aktualizováno) a Fedora.

Ačkoli aktualizace jádra již byla vydána pro Arch Linux a distribuce s jádry staršími než 5.10, jako je Debian 10 a Ubuntu 20.04, nejsou ovlivněny.

Konečně pokud máte zájem o tom vědět více, můžete zkontrolovat podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.