SÄrbarhet i VFS-kÀrnan i Linux som tillÄter privilegihöjning

I API Filesystem Context, som tillhandahÄlls av Linux-kÀrnan, har en sÄrbarhet upptÀckts (CVE-2022-0185) som gör det möjligt för en lokal anvÀndare att fÄ root-rÀttigheter i systemet. Forskaren som upptÀckte problemet publicerade en demonstration av en exploit som kan exekvera kod med root-rÀttigheter i Ubuntu 20.04 i standardkonfiguration. Koden för exploit planeras att publiceras pÄ GitHub inom en vecka, efter att distributionerna har slÀppt en uppdatering som ÄtgÀrdar sÄrbarheten.

SĂ„rbarheten finns i funktionen legacy_parse_param() i VFS och orsakas av bristen pĂ„ korrekt kontroll av den maximala storleken för parametrar som tillhandahĂ„lls i filsystem som inte stöder API Filesystem Context. Vid överföring av en för stor parameter kan överflöde av en heltalsvariabel som anvĂ€nds för att berĂ€kna storleken pĂ„ de skrivna data utlösas — i koden finns en granskning för övertrĂ€delser av bufferten "if (len > PAGE_SIZE - 2 - size)", som inte fungerar om vĂ€rdet för size Ă€r större Ă€n 4094 pĂ„ grund av heltalsöverflöde via den nedre grĂ€nsen (integer underflow, nĂ€r 4096 - 2 - 4095 konverteras till unsigned int fĂ„r vi 2147483648).

Den angivna felet gör att en buffertöverskridning kan intrÀffa nÀr en speciellt utformad FS-avbildning anropas och dÀrmed skriva över kÀlldata som följer efter det allokerade minnesomrÄdet. För att utnyttja sÄrbarheten krÀvs rÀttigheterna CAP_SYS_ADMIN, dvs. administratörsbehörighet. Problemet Àr att en sÄdan behörighet kan erhÄllas av en icke-privilegerad anvÀndare i en isolerad container om stödet för anvÀndarnamnsrymder (user namespaces) Àr aktiverat i systemet. Till exempel Àr anvÀndarnamnsrymder som standard aktiverade i Ubuntu och Fedora, men inte aktiverade i Debian och RHEL (om inte containerisolationsplattformar anvÀnds).

Problemet manifesterar sig frÄn och med Linux-kÀrna 5.1 och har ÄtgÀrdats i gÄrdagens uppdateringar 5.16.2, 5.15.16, 5.10.93, 5.4.173. Uppdateringar av paketen som ÄtgÀrdar sÄrbarheten har redan slÀppts för RHEL, Debian, Fedora, Ubuntu. Fixen Àr Ànnu inte tillgÀnglig för Arch Linux, Gentoo, SUSE och openSUSE. Som en tillfÀllig skyddsÄtgÀrd för system som inte anvÀnder containerisolering kan vÀrdet sysctl "user.max_user_namespaces" stÀllas in pÄ 0: echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/sysctl.d/userns.conf

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster