Flera farliga sårbarheter har upptäckts i Linux-kärnan, som gör det möjligt för en lokal användare att öka sina privilegier i systemet. Arbetsprototyper av exploiter har förberetts för alla aktuella problem.
- Sårbarhet (CVE-2022-0995) i händelsespårningssubsystemet watch_queue, vilket leder till skrivning av data i kärnans minnesområden utanför den tilldelade bufferten. Attacken kan utföras av vilken icke-behörig användare som helst och resultera i körning av egen kod med kärnprivilegier. Sårbarheten finns i funktionen watch_queue_set_size() och är relaterad till försöket att rensa alla pekare i listan, även om minne inte har tilldelats för dem. Problemet uppstår när kärnan byggs med alternativet "CONFIG_WATCH_QUEUE=y", som används i de flesta Linux-distributioner.
Sårbarheten åtgärdades i en ändring som lagts till kärnan den 11 mars. Uppdateringar av paket i distributioner kan följas på dessa sidor: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. En fungerande exploiter finns redan offentligt tillgänglig och gör det möjligt att få root-åtkomst när den körs i Ubuntu 21.10 med kärnan 5.13.0-37.

- Sårbarhet (CVE-2022-27666) i kärnmodulerna esp4 och esp6 med implementation av ESP-transformationer (Encapsulating Security Payload) för IPsec, som används vid användning av IPv4 och IPv6. Sårbarheten möjliggör för en lokal användare med vanliga privilegier att överskrida objekt i kärnans minne och öka sina privilegier i systemet. Problemet orsakas av bristen på överensstämmelse mellan den tilldelade minnesstorleken och de faktiska mottagna data, då den maximala meddelandestorleken kan överskrida den maximala minnesstorleken som tilldelats för strukturen skb_page_frag_refill.
Sårbarheten åtgärdades i kärnan den 7 mars (fixad i 5.17, 5.16.15 osv.). Uppdateringar av paket i distributioner kan följas på dessa sidor: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. En fungerande exploiter som gör det möjligt för en vanlig användare att få root-åtkomst i Ubuntu Desktop 21.10 i standardkonfigurationen har redan publicerats på GitHub. Det påstås att exploiteren kommer att fungera även i Fedora och Debian med små ändringar. Det är värt att notera att exploiteren ursprungligen bereddes för tävlingen pwn2own 2022, men kärnutvecklarna upptäckte och åtgärdade en relaterad bugg, så det beslutades att avslöja detaljerna kring sårbarheten.
- Två sårbarheter (CVE-2022-1015, CVE-2022-1016) i netfilter subsystemet i nf_tables-modulen som möjliggör drift av paketfiltret nftables. Det första problemet tillåter en lokal, icke-privilegierad användare att åstadkomma en skrivning utanför den tilldelade bufferten i stacken. Överskridningen inträffar vid hantering av uttryck i nftables som är formaterade på ett visst sätt och som hanteras under verifieringssteget av index definierat av användaren som har tillgång till nftables-regler.
Sårbarheten orsakas av att utvecklarna antog att värdet "enum nft_registers reg" är en byte, medan kompilatorn, vid aktivering av vissa optimeringar, enligt C89-specifikationen kan använda ett 32-bitars värde. På grund av denna egenskap överensstämmer storleken som används för kontroll och minnesallokering inte med den faktiska storleken på data i strukturen, vilket leder till att strukturens svans överlappar med pekare i stacken.
Problemet kan utnyttjas för att köra egen kod på kärnnivå, men för att attacken ska lyckas krävs åtkomst till nftables, vilket kan uppnås i ett separat nätverksnamnutrymme (network namespaces) med rättigheter för CLONE_NEWUSER eller CLONE_NEWNET (till exempel vid möjlighet att köra en isolerad container). Sårbarheten är också nära kopplad till de optimeringar som kompilatorn tillämpar, som aktiveras vid kompilering med inställningen "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y". Utnyttjande av sårbarheten är möjligt med Linux-kärna 5.12 och senare.
Den andra sårbarheten i netfilter orsakas av åtkomst till ett redan frigivet minnesområde (use-after-free) i nft_do_chain-hanteraren och kan leda till läckage av icke-initialiserade minnesområden i kärnan, som kan läsas genom manipulation av nftables-uttryck och användas, till exempel för att bestämma adressen för pekare vid utveckling av exploiter för andra sårbarheter. Utnyttjande av sårbarheten är möjligt med Linux-kärna 5.13 och senare.
Sårbarheterna har åtgärdats i dagens korrigerande uppdateringar av kärnorna 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 och 4.9.309. Uppdateringar av paket i distributionerna kan följas på dessa sidor: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Forskaren som upptäckte problemen har meddelat att arbets-exploiter för båda sårbarheterna kommer att publiceras om några dagar, efter att distributionerna har släppt paketuppdateringar med kärnan.
Källa: opennet.ru

