Лакальная ўразлівасць у nftables, якая дазваляе падвысіць свае прывілеі

У Netfilter, падсістэме ядра Linux, выкарыстоўванай для фільтравання і мадыфікацыі сеткавых пакетаў, выяўленая ўразлівасць (CVE не прызначаны), якая дазваляе лакальнаму карыстачу выканаць код на ўзроўні ядра і падняць свае прывілеі ў сістэме. Даследнікамі прадэманстраваны эксплоіт, які дазволіў лакальнаму карыстачу атрымаць правы root у Ubuntu 22.04/5.15.0 з ядром 39-15-generic. Першапачаткова інфармацыю аб уразлівасці планавалася апублікаваць XNUMX жніўня, але з-за капіравання ліста з прататыпам эксплоіту ў публічны спіс рассылкі, эмбарга на раскрыццё інфармацыі было адменена.

Праблема выяўляецца пачынальна з выпуску ядра 5.8 і выкліканая перапаўненнем буфера ў кодзе для апрацоўкі set-спісаў у модулі nf_tables, які адбыўся з-за адсутнасці належных праверак у функцыі nft_set_elem_init. Памылка занесеная ў змене, які пашырае да 128 байт вобласць захоўвання для элементаў спісу.

Для правядзення нападу патрабуецца наяўнасць доступу да nftables, які можна атрымаць у асобнай сеткавай прасторы імёнаў (network namespaces) пры наяўнасці мае рацыю CLONE_NEWUSER, CLONE_NEWNS або CLONE_NEWNET (напрыклад, пры магчымасці запуску ізаляванага кантэйнера). Выпраўленне пакуль недаступнае. Для блакавання эксплуатацыі ўразлівасці ў звычайных сістэмах варта пераканацца ў адключэнні магчымасці стварэння прастор імёнаў непрывілеяванымі карыстачамі («sudo sysctl -w kernel.unprivileged_userns_clone=0»).

Крыніца: opennet.ru

Дадаць каментар