I Linux-kernen er der opdaget flere alvorlige sårbarheder, der gør det muligt for lokale brugere at hæve deres privilegier i systemet. Der er udarbejdet arbejdende prototyper af exploits til alle de overvejede problemer.
- Sårbarheden (CVE-2022-0995) i underinfrastrukturen til hændelsessporing watch_queue fører til skrivning af data i kernelens hukommelsesområder uden for den tildelte buffer. Angrebet kan udføres af enhver ikke-privilegeret bruger og føre til udførelse af egen kode med kernelrettigheder. Sårbarheden findes i funktionen watch_queue_set_size() og vedrører forsøget på at rydde alle pegere i listen, selvom der ikke var tildelt hukommelse til dem. Problemet opstår ved kompilering af kernen med indstillingen "CONFIG_WATCH_QUEUE=y", der anvendes i de fleste Linux-distributioner.
Sårbarheden er blevet rettet i ændringen, der blev tilføjet til kernen den 11. marts. Opdateringsudgivelser i distributionerne kan følges på de følgende sider: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. En fungerende prototype af exploit er allerede offentligt tilgængelig og giver root-adgang, når den køres i Ubuntu 21.10 med kernen 5.13.0-37.

- Sårbarheden (CVE-2022-27666) i kernemodulerne esp4 og esp6 med implementering af ESP-konverteringer (Encapsulating Security Payload) til IPsec, der anvendes ved brug af IPv4 og IPv6. Sårbarheden gør det muligt for en lokal bruger med almindelige privilegier at overskrive objekter i kernelens hukommelse og hæve sine privilegier i systemet. Problemet skyldes manglen på en kontrol af den tildelte hukommelsesstørrelse og de faktisk modtagne data, idet den maksimale beskedstørrelse kan overstige den maksimale hukommelsesstørrelse, der tildeles til strukturen skb_page_frag_refill.
Sårbarheden er blevet rettet i kernen den 7. marts (repareret i 5.17, 5.16.15 osv.). Opdateringsudgivelser i distributionerne kan følges på de følgende sider: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. En fungerende prototype af exploit, der gør det muligt for almindelige brugere at få root-adgang i Ubuntu Desktop 21.10 i standardkonfigurationen, er allerede blevet offentliggjort på GitHub. Det hævdes, at med mindre ændringer vil exploit også fungere i Fedora og Debian. Bemærkelsesværdigt er det, at exploit oprindeligt blev forberedt til konkurrencerne pwn2own 2022, men kernedesignere opdagede og rettede en relateret fejl, hvorfor det blev besluttet at offentliggøre detaljerne om sårbarheden.
- To sårbarheder (CVE-2022-1015, CVE-2022-1016) i netfilter subsystemet i nf_tables modulet, der muliggør drift af nftables pakkefilter. Det første problem giver en lokal, ikke-privilegeret bruger mulighed for at skrive uden for den tildelte buffer i stakken. Overløbet opstår ved behandling af specifikt formaterede nftables udtryk, der håndteres under kontrol af brugerdefinerede indekser ved adgang til nftables regler.
Sårbarheden skyldes, at udviklerne antog, at værdien "enum nft_registers reg" er én byte, mens compilatoren ved aktivering af visse optimeringer i henhold til C89 specifikationen kan bruge et 32-bit værd. På grund af denne egenskab stemmer størrelsen, der bruges til kontrol og allokering af hukommelse, ikke overens med den faktiske datastørrelse i strukturen, hvilket fører til overlapning af strukturets hale med pegere i stakken.
Problemet kan udnyttes til at udføre egen kode på kerne niveau, men for en succesfuld angreb kræves adgang til nftables, hvilket kan opnås i et separat netværks namespace ved at have CLONE_NEWUSER eller CLONE_NEWNET rettigheder (for eksempel ved mulighed for at køre en isoleret container). Sårbarheden er også nært knyttet til de optimiseringer, der anvendes af compilatoren, som f.eks. aktiveres ved bygning i "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y" tilstand. Udførelse af sårbarheden er muligt fra Linux kerneversion 5.12.
Den anden sårbarhed i netfilter skyldes adgang til allerede frigivet hukommelsesområde (use-after-free) i nft_do_chain behandleren og kan føre til lækage af uinitialiserede kerne-hukommelsesområder, der kan læses gennem manipulationer med nftables udtryk og anvendes, f.eks. til at bestemme adressen af pekere, når der udvikles exploits for andre sårbarheder. Udførelse af sårbarheden er muligt fra Linux kerneversion 5.13.
Sårbarheder er blevet rettet i de seneste sikkerhedsopdateringer af kernerne 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 og 4.9.309. Du kan følge opdateringerne af pakkerne i distributionerne på følgende sider: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Forskeren, der identificerede problemerne, har anmeldt, at der for begge sårbarheder er udviklet fungerende exploits, som forventes offentliggjort om nogle dage, efter at distributionerne har udgivet opdateringer med den nye kerne.
Kilde: opennet.ru

