Sårbarhet i implementeringen av AF_PACKET-sockets i Linux-kärnan

Tre år efter att ett flertal sårbarheter upptäcktes (1, 2, 3, 4, 5) i AF_PACKET-subsystemet i Linux-kärnan upptäcktes har ännu ett problem upptäckts (CVE-2020-14386), som gör det möjligt för en lokal, icke-behörig användare att köra kod med root-behörighet eller ta sig ut ur isolerade containrar, förutsatt att de har root-åtkomst.

För att skapa en AF_PACKET-socket och utnyttja sårbarheten krävs behörigheten CAP_NET_RAW. Dock kan den nämnda behörigheten erhållas av en icke-behörig användare i containrar som skapats i system med aktiverad stöd för användarnamnrymder (user namespaces). Till exempel, är användarnamnrymder som standard aktiverade i Ubuntu och Fedora, men inte aktiverade i Debian och RHEL. I Android har processen mediaserver rätt att skapa AF_PACKET-sockets, vilket kan utnyttja sårbarheten.

Sårbarheten finns i funktionen tpacket_rcv och orsakas av ett felaktigt beräknande av variabeln netoff. En angripare kan skapa förhållanden där ett värde mindre än variabeln maclen skrivs till variabeln netoff, vilket kan leda till överflöd vid beräkningen "macoff = netoff - maclen" och därmed felaktig efterföljande installation av pekaren till buffern för inkommande data. Som ett resultat kan en angripare initiera en skrivning av mellan 1 och 10 byte i ett område utanför den allokerade buffern. Det påpekas att en exploit som gör det möjligt att erhålla root-behörigheter i systemet är under utveckling.

Problemet har funnits i kärnan sedan juli 2008, det vill säga det förekommer i alla aktuella kärnor. En lösning är för närvarande tillgänglig i form av en patch. För att spåra uppdateringar av paketer i distributionerna kan man besöka följande sidor: Ubuntu, Fedora, SUSE, Debian, RHEL, Arch.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster