En sårbarhet som fanns i polkit i 12 år gjorde att root-privilegier kunde erhållas 

För flera dagar sedan kom nyheten om det Qualys forskargrupp upptäckte en sårbarhet för minneskorruption i polkits pkexec, ett SUID-rotprogram som är installerat som standard på alla större Linux-distributioner.

Denna sårbarhet lätt att utnyttja tillät alla icke-privilegierade användare att få fullständiga root-privilegier på en sårbar värd genom att utnyttja denna sårbarhet i dess standardkonfiguration.

polkit (tidigare känt som PolicyKit) är en komponent för systemomfattande behörighetskontroll på Unix-liknande operativsystem. Det ger ett organiserat sätt för icke-privilegierade processer att kommunicera med privilegierade processer, plus att det också är möjligt att använda polkit för att köra förhöjda kommandon med kommandot pkexec följt av kommandot du tänker köra (med root-behörighet).

Om sårbarhet

Sårbarhet bor i pkexec, sedan din kod innehåller en bugg i pekarhantering, varav några sluta med att hänvisa till minnesområden som de inte borde. Genom att utnyttja denna brist är det möjligt att få administratörsbehörigheter nästan omedelbart.

Angiven som CVE-2021-4034, fick sårbarheten ett CVSS-poäng på 7,8 och till vilket Qualys-teamet förklarade i ett blogginlägg att:

Pkexec-felet öppnar dörren till root-privilegier för en angripare. Qualys-forskare, sa han, har visat utnyttjande av standardinstallationer av Ubuntu, Debian, Fedora och CentOS, och andra Linux-distributioner tros också vara sårbara.

"Framgångsrik exploatering av denna sårbarhet tillåter alla oprivilegierade användare att få root-privilegier på den sårbara värden. Qualys säkerhetsforskare kunde självständigt verifiera sårbarheten, utveckla en exploatering och få fullständiga root-privilegier på standardinstallationer av Ubuntu, Debian, Fedora och CentOS. Andra Linux-distributioner är förmodligen sårbara och exploaterbara. Denna sårbarhet har varit dold i mer än 12 år och påverkar alla versioner av pkexec sedan den första utgåvan i maj 2009 (commit c8c3d83, "Add a pkexec(1) command").

"Så snart vårt forskarteam bekräftade sårbarheten, åtog sig Qualys att avslöja ansvarsfull sårbarhet och samordnade med leverantörer och distributioner med öppen källkod för att meddela sårbarheten."

Problemet uppstår när main()-funktionen av pkexec bearbetar kommandoradsargument och att argc är noll. Funktionen försöker fortfarande komma åt argumentlistan och slutar med att försöka använda en rgvvoid (ARGument Vector för kommandoradsargumentsträngar). Som ett resultat läses minnet från och skrivs till out of bounds, vilket en angripare kan utnyttja för att injicera en miljövariabel som kan orsaka att godtycklig kod laddas.

Det faktum att dessa variabler kan återinföras gör koden sårbar. Åtminstone den exploateringsteknik som erbjuds av Qualys (injicera variabeln GCONV_PATH i pkexec-miljön för att köra ett delat bibliotek som root) lämnar spår i loggfilerna.

I en säkerhetsrådgivning utfärdade Red Hat följande uttalande:

"Red Hat är medveten om en sårbarhet som hittats i pkexec som tillåter en autentiserad användare att utföra en privilegieattack."

"Den primära risken för kunderna är möjligheten för en oprivilegierad användare att få administrativa privilegier på berörda system. Angriparen måste ha inloggningsåtkomst till målsystemet för att utföra attacken."

Det är värt att nämna det sårbarheten hade identifierats redan 2013 och hade beskrivits i detalj i ett blogginlägg, även om en PoC inte hade tillhandahållits:

"Lol, jag skrev om denna polkit-sårbarhet 2013. Jag kunde inte hitta en riktig exploateringsväg, men jag identifierade grundorsaken."

Slutligen, om du är intresserad av att kunna veta det om det, kan du konsultera 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.