Sårbarhed i Linux Netfilter kerneunderdel.

I Netfilter, et subsystem af Linux-kernen, der bruges til at filtrere og modificere netværkspakker, er der opdaget en sårbarhed (CVE-2021-22555), der tillader en lokal bruger at opnå root-rettigheder i systemet, selv fra en isoleret container. Der er lavet en fungerende prototype af et exploit til test, som omgår beskyttelsesmekanismerne KASLR, SMAP og SMEP. Forskeren, der identificerede sårbarheden, modtog en belønning på 20.000 dollars fra Google for at finde en metode til at omgå isolation i Kubernetes-containere i klyngen kCTF.

Problemet optræder fra kernel 2.6.19, der blev udgivet for 15 år siden, og skyldes en fejl i håndtererne IPT_SO_SET_REPLACE og IP6T_SO_SET_REPLACE, som fører til buffer-overløb, når der sendes specielt formaterede parametre gennem kaldet til setsockopt i compat-tilstand. Under normale forhold kan kaldet compat_setsockopt() kun udføres af root-brugeren, men de nødvendige tilladelser til at udføre angrebet kan også opnås af en uprivilegeret bruger i systemer med aktiveret støtte for brugernavneplads (user namespaces).

Brugeren kan oprette en container med en separat root-bruger og udnytte sårbarheden herfra. For eksempel er 'user namespaces' som standard aktiveret i Ubuntu og Fedora, men ikke aktiveret i Debian og RHEL. Patches, der retter sårbarheden, er optaget i Linux-kernen den 13. april. Pakkeopdateringer er allerede blevet udarbejdet af projekterne Debian, Arch Linux og Fedora. I Ubuntu, RHEL og SUSE er opdateringerne under forberedelse.

Problemet opstår i funktionen xt_compat_target_from_user() på grund af en fejlagtig beregning af hukommelsesstørrelsen, når strukturer fra kernen gemmes efter konvertering fra 32-bit til 64-bit repræsentation. Fejlen tillader at skrive fire nulbytes i enhver position uden for det tildelte buffer, begrænset af offset 0x4C. Denne mulighed viste sig at være tilstrækkelig til at skabe et exploit, der muliggør opnåelse af root-rettigheder — ved at nulstille pointeren m_list->next i strukturen msg_msg blev der skabt betingelser for at få adgang til data efter frigivelse af hukommelsen (use-after-free), hvilket derefter blev brugt til at få oplysninger om adresser og ændre andre strukturer via manipulation med systemopkaldet msgsnd().

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster