Ekspluateblaj vundeblecoj en nf_tables, watch_queue kaj IPsec estis identigitaj en la Linukso-kerno

Pluraj danĝeraj vundeblecoj estis identigitaj en la Linukso-kerno, kiuj permesas al loka uzanto pliigi siajn privilegiojn en la sistemo. Funkciaj prototipoj de ekspluataĵoj estis preparitaj por ĉiuj konsiderataj problemoj.

  • Vulnerabileco (CVE-2022-0995) en la watch_queue okazaĵa spura subsistemo permesas al datumoj esti skribitaj al eksterlima bufro en kernmemoro. La atako povas esti farita de iu ajn senprivilegia uzanto kaj rezultigi ilian kodon funkcii kun kernaj rajtoj. La vundebleco ekzistas en la funkcio watch_queue_set_size() kaj estas asociita kun provo forigi ĉiujn montrilojn en listo, eĉ se memoro ne estis asignita por ili. La problemo okazas dum konstruado de la kerno kun la opcio "CONFIG_WATCH_QUEUE=y", kiu estas uzata en plej multaj Linukso-distribuoj.

    La vundebleco estis traktita en kernŝanĝo aldonita la 11-an de marto. Vi povas sekvi la publikaĵojn de pakaj ĝisdatigoj en distribuoj sur ĉi tiuj paĝoj: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. La ekspluata prototipo jam estas publike havebla kaj permesas vin akiri radikan aliron kiam vi funkcias sur Ubuntu 21.10 kun kerno 5.13.0-37.

    Ekspluateblaj vundeblecoj en nf_tables, watch_queue kaj IPsec estis identigitaj en la Linukso-kerno

  • Vundebleco (CVE-2022-27666) en la esp4 kaj esp6-kernmoduloj kun la efektivigo de ESP-transformoj (Encapsulating Security Payload) por IPsec, uzita dum uzado de IPv4 kaj IPv6. La vundebleco permesas al loka uzanto kun normalaj privilegioj anstataŭigi objektojn en kernmemoro kaj pligrandigi iliajn privilegiojn sur la sistemo. La problemo estas kaŭzita de manko de repaciĝo inter la asignita memorgrandeco kaj la realaj datumoj ricevitaj, ĉar la maksimuma mesaĝgrandeco povus superi la maksimuman memorgrandecon asignitan por la skb_page_frag_refill strukturo.

    La vundebleco estis riparita en la kerno la 7-an de marto (fiksita en 5.17, 5.16.15, ktp.). Vi povas sekvi la publikaĵojn de pakaj ĝisdatigoj en distribuoj sur ĉi tiuj paĝoj: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Labora prototipo de la ekspluato, kiu permesas al ordinara uzanto akiri radikan aliron al Ubuntu Desktop 21.10 en la defaŭlta agordo, jam estis afiŝita sur GitHub. Oni asertas, ke kun malgrandaj ŝanĝoj la ekspluato ankaŭ funkcios ĉe Fedora kaj Debian. Estas rimarkinde, ke la ekspluato estis origine preparita por la pwn2own 2022-konkurado, sed la kernaj programistoj identigis kaj korektis cimon asociitan kun ĝi, do oni decidis malkaŝi la detalojn de la vundebleco.

  • Du vundeblecoj (CVE-2022-1015, CVE-2022-1016) en la netfilter-subsistemo en la modulo nf_tables, kiu certigas la funkciadon de la paka filtrilo nftables. La unua temo permesas al loka senprivilegia uzanto atingi eksterlime skribi al asignita bufro sur la stako. Superfluo okazas dum prilaborado de nftables esprimoj kiuj estas formatitaj laŭ certa maniero kaj estas procesitaj dum la kontrolfazo de indeksoj specifitaj fare de uzanto kiu havas aliron al nftables reguloj.

    La vundebleco estas kaŭzita de la fakto, ke la programistoj implicis, ke la valoro de "enum nft_registers reg" estis ununura bajto, kiam kiam iuj optimumigoj estis ebligitaj, la kompililo, laŭ la specifo C89, povus uzi 32-bitan valoron por ĝi. . Pro ĉi tiu trajto, la grandeco uzita dum kontrolado kaj asignado de memoro ne egalrilatas al la fakta grandeco de la datenoj en la strukturo, kiu kondukas al la vosto de la strukturo estanta interkovrita kun montriloj sur la stako.

    La problemo povas esti ekspluatata por ekzekuti kodon je la kernelnivelo, sed sukcesa atako postulas aliron al nftables, kiuj povas esti akiritaj en aparta retnomspaco kun CLONE_NEWUSER aŭ CLONE_NEWNET rajtoj (ekzemple, se vi povas ruli izolitan ujon). La vundebleco ankaŭ estas proksime rilata al la optimumigoj uzataj de la kompililo, kiuj, ekzemple, estas ebligitaj dum konstruado en la "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y" reĝimo. Ekspluato de la vundebleco eblas ekde Linukso-kerno 5.12.

    La dua vundebleco en netfilter estas kaŭzita de aliro al jam liberigita memorareo (use-after-free) en la pritraktilo nft_do_chain kaj povas konduki al liko de neinicialigitaj areoj de kernmemoro, kiuj povas esti legitaj per manipuladoj kun nftables-esprimoj kaj uzataj, ekzemple, por determini punterajn adresojn dum evoluaj ekspluatoj por aliaj vundeblecoj. Ekspluato de la vundebleco eblas ekde Linukso-kerno 5.13.

    La vundeblecoj estas traktitaj en la hodiaŭaj kernaj diakiloj 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 kaj 4.9.309. Vi povas sekvi la publikaĵojn de pakaj ĝisdatigoj en distribuoj sur ĉi tiuj paĝoj: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. La esploristo, kiu identigis la problemojn, anoncis la preparadon de funkciaj ekspluatoj por ambaŭ vundeblecoj, kiuj estas planitaj esti publikigitaj post kelkaj tagoj, post kiam la distribuoj liberigas ĝisdatigojn al la kernaj pakoj.

fonto: opennet.ru

Aldoni komenton