Qualys parantos ngaidéntifikasi kerentanan anu serius (CVE-2023-4911) dina linker ld.so, anu mangrupikeun bagian tina pustaka sistem C Glibc (GNU libc). Kerentanan ieu ngamungkinkeun pangguna lokal pikeun ningkatkeun hak istimewana ku cara nangtukeun data anu didamel khusus dina variabel lingkungan GLIBC_TUNABLES sateuacan ngajalankeun file anu tiasa dieksekusi nganggo flag root suid, sapertos /usr/bin/su.
Kamungkinan pikeun suksés ngamangpaatkeun kerentanan ieu dipidangkeun dina Fedora 37 sareng 38, Ubuntu 22.04 sareng 23.04, Debian 12 sareng 13. Karentanan ieu diperkirakeun ogé bakal mangaruhan distribusi sanés anu nganggo Glibc. Distribusi dumasar kana perpustakaan sistem Musl C, sapertos Alpine Linux, teu kapangaruhan ku masalah ieu. Karentanan ieu parantos dibenerkeun dina patch anu ditambahkeun dina 2 Oktober. Anjeun tiasa ngalacak sékrési apdet pakét pikeun distribusi dina halaman-halaman ieu: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, Gentoo, ALT Linux.
Karentanan ieu disababkeun ku parobahan anu diwanohkeun dina April 2021 sareng kalebet dina glibc 2.34. Kusabab aya kasalahan dina kode parsing pikeun string anu ditangtukeun dina variabel lingkungan GLIBC_TUNABLES, kombinasi parameter anu salah dina variabel ieu nyababkeun nilai anu diparsing ditulis saluareun tungtung buffer anu dialokasikeun. Masalahna némbongan nalika, tinimbang runtuyan standar "name=val", parameter ditangtukeun dina bentuk panugas ganda: "name=name=val." Dina hal ieu, panugas diprosés dua kali, mimitina salaku "name=name=val" teras salaku "name=val." Pamrosésan ganda ieu ngahasilkeun hasil "name=name=val:name=val," anu ngaleuwihan ukuran buffer tunestr.
Para panalungtik parantos ngembangkeun hiji exploit anu stabil anu ngamungkinkeun aksés root nalika dianggo ampir sareng program naon waé anu nganggo flag root suid. Iwalna nyaéta utilitas sudo (anu ngarobih nilai ELF RUNPATH), sareng utilitas chage sareng passwd di Fedora (anu dijagaan ku aturan SE anu misah).Linux) sareng utilitas snap-confine dina Ubuntu (dijaga ku aturan AppArmor anu misah). Métode éksploitasi anu diusulkeun ogé henteu tiasa dianggo dina RHEL 8 sareng RHEL 9, sanaos cabang-cabang ieu rentan (serangan meryogikeun nyiptakeun éksploitasi anu béda). Kode éksploitasi bakal dipedalkeun engké saatos kerentanan parantos dibenerkeun sacara lega. Anjeun tiasa mariksa paparan sistem anjeun kana kerentanan nganggo paréntah di handap ieu, anu bakal nabrak upami masalahna kajantenan: env -i "GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A" "Z=`printf '%08192x' 1`" /usr/bin/su --help
Sacara misah, dua kerentanan deui dina Glibc parantos dibenerkeun:
- CVE-2023-4806 – Aya kerentanan use-after-free dina fungsi getaddrinfo(). Kerentanan ieu lumangsung nalika plugin NSS ngan ukur ngalaksanakeun callback "_gethostbyname2_r" sareng "_getcanonname_r", tapi henteu ngadukung callback "_gethostbyname3_r". Pikeun ngamangpaatkeun kerentanan ieu, server DNS kedah mulangkeun sajumlah ageung alamat IPv6 sareng IPv4 pikeun host anu dipénta, anu bakal nyababkeun prosés anu nyauran fungsi getaddrinfo pikeun kulawarga AF_INET6 nabrak nalika flag AI_CANONNAME, AI_ALL, sareng AI_V4MAPPED disetel.
- CVE-2023-5156 - Bocor mémori lumangsung nalika nyauran fungsi getaddrinfo pikeun kulawarga alamat AF_INET6 kalayan flag AI_CANONNAME, AI_ALL, sareng AI_V4MAPPED parantos disetel.
sumber: opennet.ru
