SÄrbarhet i underkomponenten io_uring som möjliggör root-privilegier

I grÀnssnittet för asynkron I/O io_uring, som tillhandahÄlls av Linux-kÀrnan, har en sÄrbarhet identifierats (CVE-2024-0582) som gör det möjligt för en anvÀndare utan privilegier att fÄ root-rÀttigheter i systemet. För att utnyttja sÄrbarheten rÀcker det med vanlig lokal Ätkomst till systemet, utan behov av manipulation av namnrymder. För nÀrvarande finns en fungerande exploit offentligt tillgÀnglig, liksom en detaljerad beskrivning av en andra teknik för att utnyttja sÄrbarheten.

SÄrbarheten orsakas av en referens till en redan frigiven minnesblock (use-after-free) i io_uring-subsystemet, vilket uppstÄr vid registrering och frigöring av en ringbuffert som skapats med flaggan IORING_REGISTER_PBUF_RING. I en situation dÀr operationen mmap() tillÀmpas pÄ bufferten, förblir den reflekterad i anvÀndarens utrymme efter att frigöringsoperationen (IORING_UNREGISTER_PBUF_RING) har utförts. Genom att anvÀnda denna egenskap kan en angripare lÀsa och skriva data till minnessidor som returneras av kÀrnans minnesfördelningssystem.

Problemet uppstÄr frÄn och med Linux-kÀrnans version 6.4 och har ÄtgÀrdats i versionerna 6.7 och 6.6.5, samt i kÀrnpaketet 6.5.0-21, som Àr förberett för Ubuntu 22.04 och 23.10. AnmÀrkningsvÀrt Àr att problemet i den huvudsakliga kÀrnan ÄtgÀrdades i december 2023, Google Zero-projektet öppnade tillgÄng till felmeddelandet som indikerar sÄrbarheten den 8 januari, medan paketet med den korrigerade kÀrnan 6.5 för Ubuntu bara bildades den 22 februari 2024. I andra distributioner kan man följa uppdateringar och sÄrbarhetens pÄverkan pÄ sidorna: Debian, Gentoo, RHEL, SUSE, Fedora, Arch.

Den första exploiteringen manipulerar skapandet av ett stort antal minnessidor som kontrolleras av angriparen för att bestÀmma minnets layout i kÀrnan och fÄ Ätkomst till nÀrliggande fysiska minnessidor, med hjÀlp av innehÄllet i pÄ ett visst sÀtt fyllda strukturer av nÀtverksuttag som mÀrken. För att köra kod i exploiten anvÀnds en "gadget" (ett förfarande av redan existerande instruktioner i kÀrnan), vilket leder till att funktionen call_usermodehelper_exec utförs, avsedd för att starta processer i anvÀndarens utrymme frÄn kÀrnan.

Den andra exploiteringen bygger pÄ att nÀr alla slab-block i cachen Àr uttömda (till exempel nÀr en fil öppnas flera gÄnger) anvÀnds fria minnessidor, som angriparen har tillgÄng till, av minneshanteringssystemet för att skapa ett nytt slab-block och alla nya filstrukturer börjar placeras i detta block. DÀrmed kommer vissa filstrukturer att hamna pÄ minnessidor som angriparen kan lÀsa och skriva. Utnyttjandet gÄr ut pÄ att organisera sÄ att den önskade filen hamnar i filcachen och att fÀltet f_mode i de relaterade filstrukturerna, som definierar Ätkomstbehörigheter, Àndras sÄ att den nödvÀndiga systemfilen, till exempel /etc/passwd, görs skrivbar.

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