Linux kodolā ir identificētas nf_tables, watch_queue un IPsec izmantojamas ievainojamības

Linux kodolā ir konstatētas vairākas bīstamas ievainojamības, kas ļauj vietējam lietotājam palielināt savas privilēģijas sistēmā. Visām aplūkotajām problēmām ir sagatavoti ekspluatācijas prototipi.

  • Ievainojamība (CVE-2022-0995) notikumu izsekošanas apakšsistēmā watch_queue ļauj rakstīt datus ārpus robežām esošā kodola atmiņas buferī. Uzbrukumu var veikt jebkurš nepievilcīgs lietotājs, un tā rezultātā viņa kods tiks palaists ar kodola tiesībām. Ievainojamība pastāv funkcijā watch_queue_set_size() un ir saistīta ar mēģinājumu notīrīt visus norādes sarakstā, pat ja tiem nav atvēlēta atmiņa. Problēma rodas, veidojot kodolu ar opciju "CONFIG_WATCH_QUEUE=y", kas tiek izmantota lielākajā daļā Linux izplatījumu.

    Ievainojamība tika novērsta, veicot kodola izmaiņas 11. martā. Pakešu atjauninājumu publikācijām izplatījumos varat sekot šajās lapās: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Ekspluatācijas prototips jau ir publiski pieejams un ļauj iegūt root piekļuvi, kad darbojas Ubuntu 21.10 ar kodolu 5.13.0-37.

    Linux kodolā ir identificētas nf_tables, watch_queue un IPsec izmantojamas ievainojamības

  • Ievainojamība (CVE-2022-27666) esp4 un esp6 kodola moduļos ar ESP transformāciju (Encapsulating Security Payload) ieviešanu IPsec, ko izmanto, izmantojot IPv4 un IPv6. Ievainojamība ļauj vietējam lietotājam ar normālām privilēģijām pārrakstīt objektus kodola atmiņā un palielināt to privilēģijas sistēmā. Problēmu izraisa saskaņošanas trūkums starp piešķirto atmiņas lielumu un faktiskajiem saņemtajiem datiem, ņemot vērā, ka maksimālais ziņojuma lielums var pārsniegt maksimālo atmiņas lielumu, kas piešķirts skb_page_frag_refill struktūrai.

    Ievainojamība kodolā tika novērsta 7. martā (novērsta 5.17, 5.16.15 utt.). Pakešu atjauninājumu publikācijām izplatījumos varat sekot šajās lapās: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Darbīgs ekspluatācijas prototips, kas parastam lietotājam ļauj iegūt root piekļuvi Ubuntu Desktop 21.10 noklusējuma konfigurācijā, jau ir publicēts GitHub. Tiek apgalvots, ka ar nelielām izmaiņām ekspluatācija darbosies arī uz Fedora un Debian. Zīmīgi, ka exploit sākotnēji tika sagatavots konkursam pwn2own 2022, taču kodola izstrādātāji konstatēja un izlaboja ar to saistīto kļūdu, tāpēc tika nolemts atklāt sīkāku informāciju par ievainojamību.

  • Divas ievainojamības (CVE-2022-1015, CVE-2022-1016) netfilter apakšsistēmā nf_tables modulī, kas nodrošina nftables pakešu filtra darbību. Pirmā problēma ļauj vietējam nepievilinātam lietotājam sasniegt ārpus robežām rakstītu steka piešķirtajā buferī. Pārpilde rodas, apstrādājot nftables izteiksmes, kas ir formatētas noteiktā veidā un tiek apstrādātas indeksu pārbaudes fāzē, ko norādījis lietotājs, kuram ir piekļuve nftables kārtulām.

    Ievainojamību rada fakts, ka izstrādātāji norādīja, ka "enum nft_registers reg" vērtība ir viens baits, kad, iespējotas noteiktas optimizācijas, kompilators saskaņā ar C89 specifikāciju varēja izmantot 32 bitu vērtību. . Šīs funkcijas dēļ izmērs, kas tiek izmantots, pārbaudot un piešķirot atmiņu, neatbilst faktiskajam datu izmēram struktūrā, kā rezultātā struktūras aste pārklājas ar rādītājiem uz steka.

    Problēmu var izmantot, lai izpildītu kodu kodola līmenī, taču veiksmīgam uzbrukumam ir nepieciešama piekļuve nftables, ko var iegūt atsevišķā tīkla nosaukumvietā ar CLONE_NEWUSER vai CLONE_NEWNET tiesībām (piemēram, ja varat palaist izolētu konteineru). Ievainojamība ir arī cieši saistīta ar kompilatora izmantotajām optimizācijām, kuras, piemēram, tiek iespējotas, veidojot “CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y” režīmā. Ievainojamības izmantošana ir iespējama, sākot ar Linux kodolu 5.12.

    Otro netfilter ievainojamību izraisa piekļuve jau atbrīvotam atmiņas apgabalam (izmantot pēc brīvas lietošanas) nft_do_chain apdarinātājā, un tā var novest pie neinicializētu kodola atmiņas apgabalu noplūdes, ko var nolasīt, veicot manipulācijas ar nftables izteiksmēm un izmantot, piemēram, lai noteiktu rādītāju adreses citu ievainojamību izstrādes laikā. Ievainojamības izmantošana ir iespējama, sākot ar Linux kodolu 5.13.

    Ievainojamības ir novērstas mūsdienu kodola ielāpos 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 un 4.9.309. Pakešu atjauninājumu publikācijām izplatījumos varat sekot šajās lapās: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Problēmu identificējošais pētnieks paziņoja par abām ievainojamībām strādājošu izlietojumu sagatavošanu, ko plānots publicēt pēc dažām dienām, pēc tam, kad izplatījumi izlaida kodola pakotņu atjauninājumus.

Avots: opennet.ru

Pievieno komentāru