Në API Filesystem Context, të ofruar nga bërthama Linux, është zbuluar një cenueshmëri (CVE-2022-0185) që lejon një përdorues lokal të fitojë të drejtat root në sistem. Hulumtuesi që zbuloi problemin publikoi një demonstrim të funksionimit të eksploitatit që mund të ekzekutojë kod me të drejta root në Ubuntu 20.04 në konfigurimin siç është. Kodi i eksploitatit është planifikuar të publikohet në GitHub brenda javës, pasi distribuimet të lëshojnë një azhurnim me një rregullim për cenueshmërinë.
CenueshmĂ«ria Ă«shtĂ« e pranishme nĂ« funksionin legacy_parse_param() nĂ« VFS dhe shkaktohet nga mungesa e kontrollit tĂ« duhur tĂ« madhĂ«sisĂ« maksimale tĂ« parametrave qĂ« ofrohen nĂ« sistemet e skedarĂ«ve qĂ« nuk mbĂ«shtesin API Filesystem Context. Kur kalon njĂ« parameter shumĂ« tĂ« madh, mund tĂ« ndodhĂ« njĂ« mbingarkesĂ« e variablĂ«s integer qĂ« pĂ«rdoret pĂ«r tĂ« llogaritur madhĂ«sinĂ« e tĂ« dhĂ«nave qĂ« shkruhen â nĂ« kod ekziston njĂ« kontroll i daljes nga kufiri tĂ« buferrit "if (len > PAGE_SIZE - 2 - size)" qĂ« nuk funksionon nĂ«se vlera e size Ă«shtĂ« mĂ« e madhe se 4094 pĂ«r shkak tĂ« mbingarkesĂ«s integer pĂ«rmes kufirit tĂ« poshtĂ«m (nĂ«nshkrimi i integer, kur 4096 - 2 - 4095 kthehet nĂ« unsigned int do tĂ« rezultojĂ« nĂ« 2147483648).
Gabimi i dhënë lejon që gjatë qasjes në një imazh të posaçëm të FS të ndodhë një mbingarkesë e buferrit dhe të përmbushen të dhënat e bërthamës që ndodhen pas zonës së dedikuar të memories. Për të shfrytëzuar cenueshmërinë kërkohen të drejtat CAP_SYS_ADMIN, domethënë fuqitë e administratorit. Problemi është se një përdorues i pazot mund të fitojë të tilla fuqira në një kazan të izoluar, nëse në sistem është aktivizuar mbështetja për hapësirat e identifikuesve të përdoruesve (user namespaces). Për shembull, user namespaces janë të aktivizuara si parazgjedhje në Ubuntu dhe Fedora, por nuk janë aktivizuar në Debian dhe RHEL (nëse nuk përdoren platforma të izolimit të kazanëve).
Problemi shfaqet duke filluar nga bërthama Linux 5.1 dhe është eliminuar në azhurnimet e djeshme 5.16.2, 5.15.16, 5.10.93, 5.4.173. Azhurnimet e paketeve që rregullojnë cenueshmërinë tashmë janë lëshuar për RHEL, Debian, Fedora, Ubuntu. Rregullimi nuk është ende i disponueshëm në Arch Linux, Gentoo, SUSE dhe openSUSE. Si një zgjidhje mbrojtëse për sistemet që nuk përdorin izolimin e kazanëve, mund të caktohet në 0 vlera sysctl "user.max_user_namespaces": echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/sysctl.d/userns.conf
Burimi: opennet.ru
