Er zijn exploiteerbare kwetsbaarheden in nf_tables, watch_queue en IPsec geïdentificeerd in de Linux-kernel

Er zijn verschillende gevaarlijke kwetsbaarheden in de Linux-kernel geïdentificeerd waardoor een lokale gebruiker zijn rechten op het systeem kan vergroten. Voor alle onderzochte problemen zijn werkende prototypes van exploits voorbereid.

  • Een kwetsbaarheid (CVE-2022-0995) in het watch_queue-subsysteem voor het volgen van gebeurtenissen maakt het mogelijk dat gegevens naar een out-of-bounds buffer in het kernelgeheugen worden geschreven. De aanval kan worden uitgevoerd door elke gebruiker zonder rechten en kan ertoe leiden dat de code met kernelrechten wordt uitgevoerd. Het beveiligingslek bestaat in de functie watch_queue_set_size() en houdt verband met een poging om alle verwijzingen in een lijst te wissen, zelfs als er geen geheugen voor is toegewezen. Het probleem doet zich voor bij het bouwen van de kernel met de optie "CONFIG_WATCH_QUEUE=y", die in de meeste Linux-distributies wordt gebruikt.

    De kwetsbaarheid is verholpen door een kernelwijziging die op 11 maart is toegevoegd. U kunt de publicaties van pakketupdates in distributies volgen op deze pagina's: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Het exploit-prototype is al openbaar beschikbaar en geeft je toegang tot root-toegang als je draait op Ubuntu 21.10 met kernel 5.13.0-37.

    Er zijn exploiteerbare kwetsbaarheden in nf_tables, watch_queue en IPsec geïdentificeerd in de Linux-kernel

  • Kwetsbaarheid (CVE-2022-27666) in de esp4- en esp6-kernelmodules met de implementatie van ESP-transformaties (Encapsulated Security Payload) voor IPsec, gebruikt bij gebruik van IPv4 en IPv6. Door het beveiligingslek kan een lokale gebruiker met normale bevoegdheden objecten in het kernelgeheugen overschrijven en hun bevoegdheden op het systeem escaleren. Het probleem wordt veroorzaakt door een gebrek aan afstemming tussen de toegewezen geheugengrootte en de feitelijk ontvangen gegevens, aangezien de maximale berichtgrootte de maximale geheugengrootte zou kunnen overschrijden die is toegewezen aan de skb_page_frag_refill-structuur.

    De kwetsbaarheid is op 7 maart in de kernel verholpen (opgelost in 5.17, 5.16.15, enz.). U kunt de publicaties van pakketupdates in distributies volgen op deze pagina's: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Een werkend prototype van de exploit, waarmee een gewone gebruiker root-toegang kan krijgen tot Ubuntu Desktop 21.10 in de standaardconfiguratie, is al op GitHub geplaatst. Er wordt beweerd dat de exploit met kleine wijzigingen ook zal werken op Fedora en Debian. Het is opmerkelijk dat de exploit oorspronkelijk was voorbereid voor de pwn2own 2022-competitie, maar dat de kernelontwikkelaars een daaraan gekoppelde bug hebben geïdentificeerd en gecorrigeerd, dus werd besloten de details van de kwetsbaarheid openbaar te maken.

  • Twee kwetsbaarheden (CVE-2022-1015, CVE-2022-1016) in het netfilter-subsysteem in de nf_tables-module, die de werking van het nftables-pakketfilter garandeert. Het eerste probleem stelt een lokale gebruiker zonder bevoegdheden in staat om buiten het bereik naar een toegewezen buffer op de stapel te schrijven. Er treedt een overflow op bij het verwerken van nftables-expressies die op een bepaalde manier zijn opgemaakt en die worden verwerkt tijdens de controlefase van indexen die zijn opgegeven door een gebruiker die toegang heeft tot nftables-regels.

    De kwetsbaarheid wordt veroorzaakt door het feit dat de ontwikkelaars suggereerden dat de waarde van "enum nft_registers reg" één byte was, terwijl wanneer bepaalde optimalisaties waren ingeschakeld, de compiler er volgens de C89-specificatie een 32-bits waarde voor kon gebruiken . Vanwege deze functie komt de grootte die wordt gebruikt bij het controleren en toewijzen van geheugen niet overeen met de werkelijke grootte van de gegevens in de structuur, wat ertoe leidt dat de staart van de structuur overlapt met verwijzingen op de stapel.

    Het probleem kan worden uitgebuit om code op kernelniveau uit te voeren, maar voor een succesvolle aanval is toegang tot nftables vereist, die kan worden verkregen in een aparte netwerknaamruimte met CLONE_NEWUSER- of CLONE_NEWNET-rechten (bijvoorbeeld als u een geïsoleerde container kunt uitvoeren). De kwetsbaarheid houdt ook nauw verband met de door de compiler gebruikte optimalisaties, die bijvoorbeeld worden ingeschakeld bij het bouwen in de modus “CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y”. Exploitatie van de kwetsbaarheid is mogelijk vanaf Linux-kernel 5.12.

    De tweede kwetsbaarheid in netfilter wordt veroorzaakt door toegang te krijgen tot een reeds vrijgemaakt geheugengebied (use-after-free) in de nft_do_chain-handler en kan leiden tot een lek van niet-geïnitialiseerde gebieden van het kernelgeheugen, die kunnen worden gelezen via manipulaties met nftables-expressies en kunnen worden gebruikt, bijvoorbeeld om pointeradressen te bepalen tijdens ontwikkelingsexploitaties voor andere kwetsbaarheden. Exploitatie van de kwetsbaarheid is mogelijk vanaf Linux-kernel 5.13.

    De kwetsbaarheden worden verholpen in de huidige kernelpatches 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 en 4.9.309. U kunt de publicaties van pakketupdates in distributies volgen op deze pagina's: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. De onderzoeker die de problemen heeft geïdentificeerd, kondigde de voorbereiding aan van werkende exploits voor beide kwetsbaarheden, die naar verwachting binnen een paar dagen zullen worden gepubliceerd, nadat de distributies updates voor de kernelpakketten hebben uitgebracht.

Bron: opennet.ru

Voeg een reactie