Een kwetsbaarheid ontdekt in de TIPC-implementatie van de Linux-kernel

Dat maakte onlangs het nieuws bekend een beveiligingsonderzoeker heeft een kritieke kwetsbaarheid geïdentificeerd (reeds vermeld onder CVE-2021-43267) bij de implementatie van het TIPC-netwerkprotocol geleverd in de Linux-kernel, waarmee code op afstand kan worden uitgevoerd met kernelrechten door een speciaal vervaardigd netwerkpakket te verzenden.

Het gevaar van het probleem wordt beperkt door het feit dat de aanval expliciete activering van TIPC-ondersteuning op het systeem vereist (door de tipc.ko-kernelmodule te laden en te configureren), wat niet standaard wordt gedaan op niet-Linux-distributies.

CodeQL is een analyse-engine waarmee u query's op uw code kunt uitvoeren. Vanuit een beveiligingsperspectief kunt u hiermee kwetsbaarheden vinden door simpelweg hun uiterlijk te beschrijven. CodeQL gaat dan live en vindt alle instanties van die kwetsbaarheid.

TIPC wordt ondersteund sinds de Linux 3.19-kernel, maar de code die tot de kwetsbaarheid leidde, was opgenomen in de 5.10-kernel.. Het TIPC-protocol is oorspronkelijk ontwikkeld door Ericsson, het is bedoeld om de communicatie tussen processen in een cluster te organiseren en wordt voornamelijk geactiveerd op de knooppunten van het cluster.

TIPC kan zowel via Ethernet als via UDP werken (netwerkpoort 6118). Bij het werken via Ethernet kan de aanval worden uitgevoerd vanaf het lokale netwerk, en bij gebruik van UDP vanaf het wereldwijde netwerk, als de poort niet wordt gedekt door een firewall. De aanval kan ook worden uitgevoerd door een lokale gebruiker zonder privileges op de host. Om TIPC in te schakelen, moet u de tipc.ko-kernelmodule laden en de link naar de netwerkinterface configureren met behulp van netlink of het tipc-hulpprogramma.

Het protocol is geïmplementeerd in een kernelmodule die is gebundeld met alle belangrijke Linux-distributies. Wanneer geladen door een gebruiker, kan het worden gebruikt als een connector en kan het worden geconfigureerd in een interface met behulp van netlink (of met behulp van de gebruikersruimte-tool tipc, die deze netlink-aanroepen zal doen) als een niet-bevoorrechte gebruiker.

TIPC kan worden geconfigureerd om te werken via een dragerprotocol zoals Ethernet of UDP (in het laatste geval luistert de kernel op poort 6118 naar inkomende berichten van elke machine). Aangezien een gebruiker met lage bevoegdheden geen onbewerkte ethernetframes kan maken, maakt het instellen van de drager op UDP het gemakkelijk om een ​​lokale exploit te schrijven.

De kwetsbaarheid manifesteert zich in de functie tipc_crypto_key_rc en wordt veroorzaakt door een gebrek aan goede verificatie van de overeenkomst tussen wat is gespecificeerd in de header en de werkelijke grootte van de gegevens bij het analyseren van pakketten met het MSG_CRYPTO-type dat wordt gebruikt om coderingssleutels van andere knooppunten in het cluster te verkrijgen om later de berichten die vanaf deze knooppunten worden verzonden, te decoderen.

De grootte van de gegevens die naar het geheugen worden gekopieerd, wordt berekend als het verschil tussen de waarden van de velden met de grootte van het bericht en de grootte van de koptekst, maar zonder rekening te houden met de werkelijke grootte van de naam van het verzonden coderingsalgoritme in het bericht en de inhoud van de sleutel.

De grootte van de naam van het algoritme wordt verondersteld vast te zijn, en daarnaast wordt een apart attribuut met de grootte doorgegeven voor de sleutel, en de aanvaller kan in dit attribuut een waarde specificeren die afwijkt van de werkelijke waarde, wat zal leiden tot schrijven naar de wachtrij van het bericht buiten de toegewezen buffer.

De kwetsbaarheid is verholpen in kernels 5.15.0, 5.10.77 en 5.14.16, hoewel het probleem zich voordoet en nog niet is opgelost in Debian 11, Ubuntu 21.04 / 21.10, SUSE (in de SLE15-SP4-tak nog niet vrijgegeven), RHEL (nog niet gedetailleerd als de kwetsbare oplossing is bijgewerkt) en Fedora.

Hoewel er is al een kernel-update uitgebracht voor Arch Linux en distributies met kernels ouder dan 5.10, zoals Debian 10 en Ubuntu 20.04, worden niet beïnvloed.

Eindelijk als u er meer over wilt weten, kunt u de details bekijken In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.