Ubuntu smutthull gjør det mulig å omgå plassbegrensninger for brukernavn

sårbarhet

For noen dager siden ble iDet kunngjorde Qualys-forskere gjennom e-postlistene en rapport om oppdagelse av tre metoder for å omgå restriksjoner av tilgang til brukernavneområde i Ubuntu.

Fra og med versjon 23.10 introduserte Ubuntu et ekstra lag med sikkerhet for å hindre uprivilegerte brukere i å opprette brukernavnerom, et tiltak som er ment å redusere sikkerhetsrisikoer.

Selv om tilgang til disse områdene ikke i seg selv er en sårbarhet, kan bruken av dem utsette kjerneundersystemer for potensielle angrep, spesielt i isolerte miljøer som containere eller nettlesersandkasser.

Vi oppdaget tre forskjellige måter å omgå disse uberettigede brukernavneromsbegrensningene; Hver lar en lokal angriper opprette brukernavnerom med fulle administratorfunksjoner og dermed utnytte sårbarheter i kjernekomponenter som krever funksjoner som CAP_SYS_ADMIN eller CAP_NET_ADMIN

Viktigheten av navnerom i Linux

Navneområder tillate ulike prosesser å administrere ressurser uavhengig, isolere miljøer uten å forstyrre andre prosesser. Brukernavneområdet lar uprivilegerte prosesser få tilgang til kjerneundersystemer som normalt krever økte tillatelser.

Problemet ligger i det mange delsystemer kjernen ble designet under forutsetningen om at bare root-brukeren ville ha tilgang. Med introduksjonen av brukernavneområder kan sårbarheter som tidligere var uutnyttelige av vanlige brukere nå utnyttes for å få privilegert tilgang til systemet.

Metoder oppdaget for å unngå restriksjoner

Når det gjelder feilene som ble oppdaget av Qualys-forskere, nevner de at de har identifisert tre måter som en uprivilegert angriper kan opprette et brukernavn med økte tillatelser på Ubuntu, som Den første av disse er bruken av aa-exec-verktøyet.

Det nevnes at aa-exec-verktøyet, inkludert i Ubuntu-basen, Lar deg bruke AppArmor-profiler på vilkårlige prosesser. Dette lar en angriper bruke den til å ta i bruk profiler som gir tilgang til brukernavneområder, for eksempel Chrome, Flatpak og Trinity.

Den andre fiaskoen Det forskerne oppdaget er med bruk av busybox. Og busybox-verktøyet (tilstede som standard i Ubuntu) har en AppArmor-profil som lar deg opprette brukernavneområder. En angriper kan starte et skall fra busybox og deretter bruke unshare for å lage et isolert miljø med økte tillatelser.

Den tredje og siste fiaskoen oppdaget er ved å bruke miljøvariabelen LD_PRELOAD. Dette lar en angriper injisere sitt eget bibliotek i et hvilket som helst program som har en AppArmor-profil med tilgang til brukernavneområder. Et eksempel på dette er Nautilus, et program med slike privilegier.

Avbøtende tiltak

For å forhindre utnyttelse av disse sårbarhetene anbefaler Ubuntu-utviklere følgende handlinger:

aa-exec-begrensningen

Dette forhindrer uprivilegerte brukere fra å vilkårlig endre AppArmor-profiler. Dette kan gjøres ved å kjøre følgende kommando:

sysctl kernel.apparmor_restrict_unprivileged_unconfined=1

Deaktiver problematiske AppArmor-profiler

Hvis du ikke trenger å bruke busybox med navneromtilgang eller generere miniatyrbilder i Nautilus, kan du deaktivere AppArmor-profilene deres.

Sjekk hvilke programmer som har tillatelser til å opprette navneområder

Dette lar deg identifisere andre installerte applikasjoner med lignende tillatelser.

Beskyttelsestiltak

Til slutt er det verdt å nevne at for å redusere denne angrepsoverflaten, har Ubuntu tatt i bruk en hybridmodell som begrenser opprettelsen av brukernavneområder, med bare visse programmer som kan lage dem hvis de oppfyller følgende betingelser:

  • De har en AppArmor-profil med eksplisitte regler som tillater det.
  • De har CAP_SYS_ADMIN-rettigheter, som gir dem administrative rettigheter.

Dette gir en balanse mellom sikkerhet og funksjonalitet, og tillater bruk av sandkasser i utvalgte applikasjoner uten å utsette hele systemet for unødvendige risikoer.

Lur interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.