SÄrbarheter i Linux-kÀrnan som gör det möjligt att höja sina privilegier via nf_tables och ksmbd

En sÄrbarhet (CVE-2024-1086) har upptÀckts i Netfilter, ett subsystem i Linux-kÀrnan som anvÀnds för filtrering och modifiering av nÀtverkspaket, vilket gör det möjligt för en lokal anvÀndare att exekvera kod pÄ kÀrnnivÄ och höja sina privilegier i systemet. Problemet orsakas av dubbel frigöring av minne (double-free) i nf_tables-modulen som möjliggör paketfiltrering med nftables. Forskaren som upptÀckte sÄrbarheten har utvecklat och publicerat en fungerande prototyp av ett exploit.

Exploitet har demonstrerats i aktuella versioner av Debian och Ubuntu med Linux-kĂ€rnor 5.14 – 6.6 samt i en miljö med KernelCTF (Capture the Flag) som inkluderar ytterligare patchar för att blockera typiska exploiteringsmetoder och anvĂ€nds av Google i ett belöningsprogram för att hitta sĂ„rbarheter. FramgĂ„ngsraden för exploitet bedöms till 99.4%. I den medföljande artikeln förklaras i detalj processen för att skapa ett komplext flerlagersexploit och att kringgĂ„ de skyddsmekanismer och motĂ„tgĂ€rder som finns i kĂ€rnan.

SÄrbarheter i Linux-kÀrnan som gör det möjligt att höja sina privilegier via nf_tables och ksmbd

Problemet Àr relaterat till ett fel i funktionen nft_verdict_init(), som tillÄter anvÀndning av positiva vÀrden som felkod för avvisade paket (DROP) i hooks, vilket kan anvÀndas för att anropa funktionen nf_hook_slow() som Äterfrigör minnet för en buffert som redan har frigörts. Problemet uppstÄr nÀr NF_DROP-operationen skapas med fel och kÀrnan först tolkar NF_DROP men sedan frigör bufferten och returnerar status NF_ACCEPT. Denna situation leder till att behandlingen av bufferten, trots att den Àr frigjord, inte stannar, utan istÀllet skickas till en annan handler som Ä sin sida andra gÄngen kallar pÄ minnesfrigöringsfunktionen.

SÄrbarheten har funnits sedan version 3.15 av Linux-kÀrnan, men exploitet fungerar med kÀrnor frÄn och med version 5.14. En patch för sÄrbarheten har föreslagits i versionen 6.8-rc1 av Linux-kÀrnan och har i slutet av februari flyttats till stabila grenar 5.15.149, 6.1.76 och 6.6.15. För att följa upp din sÄrbarhetspatch kan du besöka sidorna: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Det bör ocksÄ noteras en serie sÄrbarheter i modulen ksmbd, som erbjuder en inbyggd Linux-kÀrnimplementering av filsystemet baserat pÄ SMB-protokollet. servern SÄrbarheten CVE-2024-26592 möjliggör fjÀrrkörning av kod med kÀrnrÀttigheter utan autentisering pÄ system med den aktiverade ksmbd-modulen. Problemet orsakas av en kapplöpning i koden för hantering av TCP-anslutningar, vilket uppstÄr pÄ grund av bristen pÄ korrekt lÄsning vid arbete med objektet.

SÄrbarheten CVE-2023-52440 tillÄter ocksÄ fjÀrrkörning av kod med kÀrnrÀttigheter, men orsakas av buffertöverskridning vid hantering av ogiltiga sessionsnycklar pÄ grund av bristen pÄ korrekt storlekskontroll av data som tas emot frÄn anvÀndaren innan de kopieras till en buffert med fast storlek.

SÄrbarheterna (1, 2, 3) CVE-2024-26594, CVE-2023-52442 och CVE-2023-52441 i ksmbd möjliggör fjÀrrÄtkomst till kÀrnminnet utan autentisering. SÄrbarheten CVE-2024-26594 orsakas av otillrÀcklig datavalidering vid behandling av mottagna SMB2 Mech-token, vilket leder till att data returneras frÄn utanför buffertomrÄdet. SÄrbarheten CVE-2023-52442 orsakas av bristen pÄ korrekt validering av indata vid behandling av kedjade (chained) förfrÄgningar. SÄrbarheten CVE-2023-52441 orsakas av bristen pÄ nödvÀndig validering av indata vid behandling av SMB2-anslutningsförfrÄgningar.

SĂ„rbarheterna CVE-2024-26594 och CVE-2024-26592 har Ă„tgĂ€rdats i kĂ€rnan 6.8 och i korrigerande uppdateringar av tidigare stabila versioner 6.1.75, 6.6.14, 6.7.2. Övriga sĂ„rbarheter har Ă„tgĂ€rdats i kĂ€rnan 6.5 och uppdateringarna 5.15.145, 6.1.53, 6.4.16.

Avslutningsvis kan man nĂ€mna aktiveringen av det nya teamet för Linux-kĂ€rnutveckling, som skapades för att analysera förekomsten av sĂ„rbarheter och bedöma sambandet mellan de Ă€ndringar som görs i kĂ€rnan och sĂ€kerhetsproblem. I februari skapade kĂ€rnutvecklarna en egen CNA-tjĂ€nst (CVE Numbering Authority), som fick befogenhet att sjĂ€lvstĂ€ndigt tilldela CVE-identifierare till sĂ„rbarheter. Tidigare lĂ„g tilldelningen av CVE och analysen av sambandet mellan Ă€ndringar och potentiella sĂ„rbarheter pĂ„ distributionsutvecklarna, och potentiella sĂ„rbarheter i kĂ€rnan pekades inte ut och var med i vanliga korrigeringar. Resultaten av det nya tjĂ€nstens arbete har övertrĂ€ffat alla förvĂ€ntningar — dagligen markeras flera dussin nya sĂ„rbarheter i kĂ€rnan som tidigare inte har markerats som sĂ€kerhetsproblem. Till exempel, den 26 mars tilldelades nya CVE-identifierare till 14 sĂ„rbarheter som tidigare inte betraktades som sĂ€kerhetsproblem, och den 25 mars tilldelades 41 sĂ„rbarheter.

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