De hittade en VFS-sårbarhet i Linux som tillåter eskalering av rättigheter

Några dagar sen nyheten släpptes att sårbarheten identifierades (redan katalogiserad under CVE-2022-0185) ochn filsystemets kontext-API tillhandahålls av Linux-kärna vilket kan tillåta en lokal användare att få root-privilegier på systemet.

Det nämns det problemet är att en oprivilegierad användare kan få sådana behörigheter i en isolerad behållare om stöd för användarnamnutrymmen är aktiverat på systemet.

Till exempel är användarnamnrymder aktiverade som standard på Ubuntu och Fedora, men är inte aktiverade på Debian och RHEL (såvida inte containerisoleringsplattformar används). Förutom behörighetseskalering kan sårbarheten även användas för att bryta sig ut ur en isolerad behållare om behållaren har CAP_SYS_ADMIN-behörighet.

Sårbarhet finns i funktionen legacy_parse_param() i VFS och beror på en brist på korrekt validering av den maximala storleken på de angivna parametrarna på filsystem som inte stöder filsystemets kontext-API.

Nyligen stötte flera vänner på mitt CTF Crusaders of Rust-team och jag på en 0-dagars Linux-kärnhög översvämning. Vi hittade felet genom att blanda med syzkaller och utvecklade det snabbt till ett Ubuntu LPE-exploat. Vi skrev sedan om det för att undkomma och rota Googles härdade Kubernetes CTF-infrastruktur. Denna bugg påverkar alla kärnversioner sedan 5.1 (5.16 pågår för närvarande) och har tilldelats CVE-2022-0185. Vi har redan rapporterat detta till Linux-distributions- och säkerhetsmaillistan, och felet har åtgärdats när den här artikeln släpptes.

Att passera en för stor parameter kan orsaka ett spill av heltalsvariabeln som används för att beräkna storleken på data som skrivs; koden har en "if (len > PAGE_SIZE - 2 - storlek)" buffertspillningskontroll, som inte fungerar om storleksvärdet är större än 4094 på grund av heltalsspill genom den nedre gränsen (heltalsspill, vid omvandling 4096 – 2 – 4095 till osignerad int, får 2147483648).

Denna bugg tillåter, när du kommer åt en specialgjord FS-bild, orsaka ett buffertspill och skriv över kärndata efter det tilldelade minnesområdet. För att utnyttja sårbarheten krävs CAP_SYS_ADMIN-rättigheter, dvs administratörsbehörighet.

Från och med 2022 beslutade våra lagkamrater att hitta en dag 0 år 2022. Vi var inte riktigt säkra på exakt hur vi skulle börja, men eftersom vårt team hade en hög grad av förtrogenhet med Linux-kärnas sårbarheter, bestämde vi oss för att bara köpa några dedikerade servrar. och kör Googles syzkaller fuzzer. Den 6 januari klockan 22:30 PST fick chop0 följande rapport om ett KASAN-fel i legacy_parse_param: slab-out-of-bounds Skriv i legacy_parse_param. Det verkar som att syzbot hittade det här problemet bara 6 dagar tidigare när det gick ut på Android, men problemet hanterades inte och vi trodde naivt att ingen annan märkte det.

Slutligen är det värt att nämna att problemet har visat sig sedan Linux-kärnversion 5.1 och löstes i uppdateringarna som släpptes för några dagar sedan i versionerna 5.16.2, 5.15.16, 5.10.93, 5.4.173.

Förutom det Uppdateringar av sårbarhetspaket har redan släppts till RHELDebianfedora och ubuntu. Medan lösningen ännu inte är tillgänglig på Arch LinuxGentooSUSE y openSUSE.

När det gäller dessa nämns att man som säkerhetslösning för system som inte använder containerisolering kan ställa in värdet på sysctl "user.max_user_namespaces" till 0:

Forskaren som identifierade problemet har publicerat en demo av en exploit que tillåter körning av kod som root på Ubuntu 20.04 i standardkonfigurationen. Det är planerat att exploateringskoden publiceras på GitHub inom en vecka efter att distributioner släpper en uppdatering som åtgärdar sårbarheten.

Slutligen om du är intresserad av att veta mer om detkan du kontrollera detaljerna i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Galego sade

    Ännu en anledning att inte röra snap med en pinne.