GRO Frag — седма уязвимост от клас Copy Fail, предоставяща root права в Linux

На обществени достъп е публикуван експлойт за седмата уязвимост (1, 2-3, 4, 5, 6) в ядрото на Linux, позволяваща на непривилегирован локален потребител да получи права root, презаписвайки данни в страницовия кеш. CVE идентификатор все още не е присвоен, освен кода на експлойта, информация за проблема за момента липсва. Поправката е достъпна единствено под формата на патч, който е публикуван на 20 май и на 21 май е приет в основната клон на ядрото на Linux (коригиращите версии на ядрото все още не са налични).

Уязвимостта е налична в реализацията на технологията GRO (Generic Receive Offload), използвана за ускоряване на обработката на сегментирани пакети. Уязвимостта е причинена от грешка в реализацията на механизма zero-copy в функцията skb_gro_receive(), която извършва директна промяна на данните в страницовия кеш, за да се избегне излишната буферизация. При установен флаг SKBFL_MANAGED_FRAG_REFS, се пропускаше запазването на линка към освободените страници памет в полето shinfo->frags, след което това поле се присъединяваше към друг skb без промяна на брояча на референции, което водеше до достъп до памет след нейното освобождаване (use-after-free). Проблемът беше експлоатиран за презаписване на данни в страницовия кеш, благодарение на манипулирането с указателя към буфер io_uring.

Атаката е възможна на системи с активирана подсистема io_uring (io_uring_disabled=0). За работа на експлойта в системата трябва да има достъпен за четене изпълним файл с флаг SUID-root. Механизмът на експлоатация се състои в това, че атакуващият достига до настаняването на базата на потребителите в страницовия кеш, след което в кеша се подменя редът с „hax::0:0::/root:/bin/sh“. След това се изпълнява командата „su hax“, която получава не оригиналната база данни на потребителите от носителя, а променена копия с подменено име „hax“, на което са зададени права root и празна парола. Работата на експлойта е тествана в Ubuntu 24.04.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster