En sårbarhet identifierades i GDM

En säkerhetsforskare av GitHub gjorde det känt nyligen du har identifierat en sårbarhet (CVE-2020-16125) i GNOME Display Manager (GDM), som ansvarar för att visa inloggningsskärmen.

Kombinerat med en annan sårbarhet i kontospårningstjänsten (kontodemon), problemet gör att koden kan köras som root.  Sårbarheten är associerad med fel start av det ursprungliga konfigurationsverktyget om det är omöjligt att komma åt kontodemontjänsten via DBus.

Om sårbarhet

En privilegierad användare kan krascha konton-daemon-processen eller lägg på, vad som skapar förutsättningarna för att verktyget gnome-initial-setup ska köras från GDM, genom vilket en ny användare kan registrera sig som medlem i sudo-gruppen, det vill säga ha förmågan att köra program som root.

normalt, GDM anropar gnome-initial-setup för att ställa in den första användaren om det inte finns några konton i systemet. Verifiering av att det finns konton görs genom att kontakta accounts-daemon. Om den angivna processen misslyckas antar GDM att kontona saknas och startar den initiala konfigurationsprocessen.

Forskaren identifierade två sätt att störa daemon-accounts-processen- Det första (CVE-2020-16126) beror på felaktig återställning av behörigheter och det andra (CVE-2020-16127) -felet när en ".pam_environment" -fil bearbetas.

Dessutom, en annan sårbarhet hittades i daemon-konton (CVE-2018-14036) orsakas av felaktiga filsökvägar och låter godtyckligt filinnehåll läsas på systemet.

Sårbarheterna i accounts-daemon orsakas av ändringar gjorda av Ubuntu-utvecklare och visas inte i huvudkonton-daemon-koden i FreeDesktop-projektet och Debian-paketet.

Problemet med CVE-2020-16127 finns i en korrigeringsfil som läggs till i Ubuntu som implementerar is_in_pam_environment-funktionen, som läser innehållet i .pam_environment-filen från användarens hemkatalog. Om du lägger till en symbolisk länk till / dev / zero istället för den här filen, hänger konto-daemon-processen på oändliga läsoperationer och slutar svara på förfrågningar via DBus.

Det är ovanligt att en sårbarhet i ett modernt operativsystem är så lätt att utnyttja. Vid vissa tillfällen har jag skrivit tusentals rader kod för att utnyttja en sårbarhet. 

De flesta moderna exploateringar involverar komplicerade knep, som att använda en sårbarhet med minneskorruption för att förfalska falska föremål i högen, eller ersätta en fil med en symlänk till mikrosekundens precision för att utnyttja en TOCTOU-sårbarhet. 

Så idag är det relativt sällsynt att hitta en sårbarhet som inte kräver kodningsförmåga att utnyttja. Jag tror också att sårbarheten är lätt att förstå, även om du inte har någon förkunskap om hur Ubuntu fungerar eller erfarenhet av säkerhetsforskning.

CVE-2020-16126 sårbarhet orsakas av en annan korrigeringsfil som återställer den aktuella användarens behörighet vid bearbetning av vissa DBus-samtal (till exempel org.freedesktop.Accounts.User.SetLanguage).

Kontodemon-processen körs normalt som root, vilket förhindrar en normal användare från att skicka signaler.

Men tack vare den tillagda patch, processbehörigheter kan återställas och användaren kan avsluta denna process genom att skicka en signal. För att utföra en attack skapar du helt enkelt villkoren för att ta bort behörigheter (RUID) och skicka en SIGSEGV- eller SIGSTOP-signal till kontodemonprocessen.

Användaren avslutar den grafiska sessionen och går till textkonsolen (Ctrl-Alt-F1).
Efter att den grafiska sessionen avslutats försöker GDM visa inloggningsskärmen, men hänger när du försöker få svar från kontodemon.

SIGSEGV- och SIGCONT-signalerna skickas från konsolen till kontodemonprocessen och får den att hänga.

Du kan också skicka signaler innan du avslutar den grafiska sessionen, men du måste göra det med en fördröjning för att ha tid att avsluta sessionen och innan signalen skickas hade GDM tid att börja.

Begäran till kontodemonen i GDM misslyckas och GDM anropar verktyget gnome-initial-setup, i vars gränssnitt det räcker att skapa ett nytt konto.

Sårbarheten är fixad i GNOME 3.36.2 och 3.38.2. Utnyttjandet av sårbarheten har bekräftats i Ubuntu och dess derivat.

Fuente: https://securitylab.github.com


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.