Kerentanan ing VFS kernel Linux sing ngidini sampeyan nambah hak istimewa sampeyan

Kerentanan (CVE-2022-0185) wis diidentifikasi ing API Konteks Sistem File sing diwenehake dening kernel Linux, sing ngidini pangguna lokal entuk hak istimewa root ing sistem kasebut. Peneliti sing ngenali masalah kasebut nerbitake demonstrasi eksploitasi sing ngidini sampeyan nglakokake kode minangka root ing Ubuntu 20.04 ing konfigurasi standar. Kode eksploitasi direncanakake bakal dikirim ing GitHub sajrone seminggu sawise distribusi ngeculake update sing ndandani kerentanan kasebut.

Kerentanan kasebut ana ing fungsi legacy_parse_param () ing VFS lan disebabake amarga gagal mriksa ukuran maksimum parameter sing kasedhiya ing sistem file sing ora ndhukung API Konteks Sistem File. Nglewati parameter sing gedhe banget bisa nyebabake kebanjiran variabel integer sing digunakake kanggo ngetung ukuran data sing bakal ditulis - kode kasebut nduweni cek overflow buffer "yen (len> PAGE_SIZE - 2 - ukuran)", sing ora bisa yen Nilai ukuran luwih saka 4094. kanggo integer overflow liwat wates ngisor (integer underflow, nalika casting 4096 - 2 - 4095 kanggo unsigned int, asil 2147483648).

Kesalahan iki ngidini, nalika ngakses gambar sistem file sing dirancang khusus, nyebabake kebanjiran buffer lan nimpa data kernel sawise area memori sing diparengake. Kanggo ngeksploitasi kerentanan, sampeyan kudu duwe hak CAP_SYS_ADMIN, yaiku. wewenang administrator. Masalahe yaiku pangguna sing ora duwe hak bisa entuk ijin kasebut ing wadhah sing terisolasi yen sistem kasebut duwe dhukungan kanggo ruang jeneng pangguna. Contone, ruang jeneng pangguna diaktifake kanthi standar ing Ubuntu lan Fedora, nanging ora diaktifake ing Debian lan RHEL (kajaba platform isolasi wadah digunakake).

Masalah wis katon wiwit kernel Linux 5.1 lan didandani ing nganyari wingi 5.16.2, 5.15.16, 5.10.93, 5.4.173. Nganyari paket sing ndandani kerentanan wis dirilis kanggo RHEL, Debian, Fedora, lan Ubuntu. Ndandani durung kasedhiya ing Arch Linux, Gentoo, SUSE lan openSUSE. Minangka solusi kanggo sistem sing ora nggunakake isolasi wadhah, sampeyan bisa nyetel nilai sysctl "user.max_user_namespaces" dadi 0: echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p / etc/ sysctl.d/userns.conf

Source: opennet.ru

Add a comment