Opdagede en sårbarhed i TIPC-implementeringen af ​​Linux-kernen

For nylig brød nyheden det en sikkerhedsforsker identificerede en kritisk sårbarhed (allerede opført under CVE-2021-43267) i implementeringen af ​​TIPC-netværksprotokollen leveres i Linux-kernen, som tillader fjernudførelse af kode med kerneprivilegier ved at sende en specielt udformet netværkspakke.

Faren for problemet afbødes af det faktum, at angrebet kræver eksplicit at aktivere TIPC-understøttelse på systemet (ved at indlæse og konfigurere tipc.ko-kernemodulet), hvilket ikke som standard udføres på ikke-Linux-distributioner.

CodeQL er en parsing-motor, der giver dig mulighed for at køre forespørgsler på kode. Fra et sikkerhedsperspektiv kan dette give dig mulighed for at finde sårbarheder blot ved at beskrive deres udseende. CodeQL vil derefter sparke ind og finde alle tilfælde af denne sårbarhed.

TIPC har været understøttet siden Linux-kerne 3.19, men koden, der førte til sårbarheden, var inkluderet i kerne 5.10. TIPC-protokollen blev oprindeligt udviklet af Ericsson, den er beregnet til at orkestrere kommunikation mellem processer i en klynge, og er hovedsageligt aktiveret på klynge noderne.

TIPC kan fungere både over Ethernet og over UDP (netværksport 6118). I tilfælde af arbejde via Ethernet kan angrebet udføres fra det lokale netværk, og ved brug af UDP - fra det globale netværk, hvis porten ikke er dækket af en firewall. Angrebet kan også udføres af en uprivilegeret lokal bruger på værten. For at aktivere TIPC skal du indlæse tipc.ko-kernemodulet og konfigurere linket til netværksgrænsefladen ved hjælp af netlink eller tipc-værktøjet.

Protokollen er implementeret i et kernemodul pakket med alle større Linux-distributioner. Når den indlæses af en bruger, kan den bruges som en socket og kan konfigureres i en grænseflade ved hjælp af netlink (eller ved at bruge tipc-brugerspace-værktøjet, som vil foretage disse netlink-kald) som en uprivilegeret bruger.

TIPC kan konfigureres til at fungere over en bærerprotokol såsom Ethernet eller UDP (i sidstnævnte tilfælde lytter kernen på port 6118 for indgående beskeder fra enhver vært). Da en lavprivilegeret bruger ikke kan oprette rå Ethernet-rammer, gør indstilling af bæreren til UDP det nemmere at skrive en lokal udnyttelse.

Sårbarheden viser sig i tipc_crypto_key_rc-funktionen og er forårsaget af manglende korrekt verifikation af overensstemmelsen mellem det, der er specificeret i headeren og den reelle størrelse af dataene ved analyse af pakker med typen MSG_CRYPTO, der bruges til at hente krypteringsnøgler fra andre noder i klyngen for senere at dekryptere de beskeder, der sendes fra disse noder.

Størrelsen af ​​de data, der kopieres til hukommelsen, beregnes som forskellen mellem værdierne af felterne med størrelsen af ​​meddelelsen og størrelsen af ​​headeren, men uden at tage højde for den faktiske størrelse af navnet på den overførte krypteringsalgoritme i beskeden og nøglens indhold.

Det antages, at størrelsen på algoritmenavnet er fast, og derudover sendes en separat attribut med størrelsen til nøglen, og angriberen kan angive en værdi i denne attribut, der afviger fra den faktiske værdi, hvilket vil føre til skrivning til meddelelsens kø uden for den tildelte buffer.

Sårbarheden er rettet i kernerne 5.15.0, 5.10.77 og 5.14.16, selvom problemet dukker op og endnu ikke er blevet rettet på Debian 11, Ubuntu 21.04/21.10, SUSE (i den endnu ikke-frigivne SLE15-SP4-gren), RHEL (endnu ikke detaljeret, hvis den sårbare rettelse er blevet opdateret) og Fedora.

Skønt en kerneopdatering til Arch Linux er allerede blevet frigivet og distributioner med kerner ældre end 5.10, såsom Debian 10 og Ubuntu 20.04, påvirkes ikke.

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.