Nalezena chyba v jádru AF_PACKET a odstraněn rolovací text v konzole

Nedávno další problém byl zveřejněn v subsystému AF_PACKET Linuxové jádro, které umožňuje místnímu neprivilegovanému uživateli spouštět kód jako root nebo opustit izolované kontejnery, pokud mají přístup root.

Zveřejněné informace zmiňují, že k vytvoření patice AF_PACKET a zneužití této chyby zabezpečení je vyžadováno oprávnění CAP_NET_RAW.

Je však třeba poznamenat, že uživatel bez oprávnění může získat oprávnění specifikováno v kontejnerech vytvořených v systémech s povolenými jmennými prostory uživatelů.

Například jmenné prostory uživatelů jsou standardně zahrnuty v Ubuntu a Fedoře, ale nejsou povoleny v Debianu a RHEL. Zatímco v systému Android má proces mediaerveru právo vytvářet zásuvky AF_PACKET, pomocí kterých lze tuto chybu zabezpečení zneužít.

O chybě zabezpečení v AF_PACKET

Chyba zabezpečení je přítomna ve funkci tpacket_rcv a je to způsobeno chybou ve výpočtu proměnné netoff.

Útočník může vytvořit podmínky pod kterými zapíše hodnotu menší než maclen v proměnné netoff, která způsobí přetečení výpočtem „macoff = netoff-maclen“ a následným provedením by mohl nesprávně nastavit ukazatel na vyrovnávací paměť pro příchozí data.

Jako výsledek, útočník může zahájit zápis 1 až 10 bajtů do oblasti mimo přidělenou vyrovnávací paměť. 

Chybný výpočet je v jádře přítomen od července 2008, tedy ve všech současných jádrech, avšak nyní známá schopnost jej používat k zápisu do oblasti mimo přidělenou vyrovnávací paměť (zranitelnost) byla pravděpodobně zavedena v únoru od roku 2016 (z jádra verze 4.6-rc1 a novější) s vývojem podpory virtio_net.

Pokud jde o řešení problému, je stále k dispozici jako oprava. Kromě toho, že na druhé straně je pozorováno, že se vyvíjí exploit, který umožňuje získat práva root v systému.

Pro ty, kteří mají zájem vědět, jestli je oprava již k dispozici pro jejich distribuci, mohou sledovat vzhled aktualizací balíčků v různých distribucích na následujících stránkách: Ubuntu, Fedora, SUSE, Debian, RHEL, Oblouk.

Byla odstraněna podpora posouvání textu pro textovou konzolu

Na druhou stranu, pokud jde o linuxové jádro, bylo také oznámeno, že textový rolovací kód byl odstraněn z implementace textové konzoly v linuxovém jádře (CONFIG_VGACON_SOFT_SCROLLBACK).

Kód byl odstraněn kvůli přítomnosti chyb, který nebyl nikdo opravit kvůli nedostatku manažera, který by dohlížel na vývoj vgaconu.

A před několika měsíci byla zjištěna chyba zabezpečení a opravena ve vgaconu (CVE-2020-14331), který by mohl způsobit přetečení vyrovnávací paměti z důvodu nedostatku správných kontrol dostupnosti paměti v rolovací vyrovnávací paměti. Tato chyba zabezpečení upoutala pozornost vývojářů který organizoval fuzzing testy kódu vgacon v syzbotu.

kromě toho další ověřování odhalilo několik dalších problémů Podobné v kódu vgacon, stejně jako problémy s implementací softwaru posunutí v řadiči fbcon.

Bohužel, problémový kód byl ponechán bez dozoru po dlouhou dobu, pravděpodobně kvůli tomu, že vývojáři přešli na používání grafických a textových konzolí, přestali se používat (lidé nadále používají konzoly vgacon a fbcon, ale už desítky let nejsou hlavním rozhraním jádra a šířili jak funkce jako rolování vestavěné do ovladače (Shift + PgUp / PgUp) jsou pravděpodobně v nízké poptávce).

V tomto ohledu, Linus Torvalds se rozhodl nezkoušet si kód ponechat nevyzvednutý, ale jednoduše jej smažte.

Nakonec se uvádí, že pokud existují uživatelé, kteří tuto funkci potřebují, kód podporující posouvání v konzole se vrátí do jádra, jakmile je připraven správce nebo kdo chce převzít odpovědnost za jeho údržbu ruce, tedy jediný, kdo tomu chce věnovat čas.


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.