Dirty Pipe, una de les vulnerabilitats més greu en anys a Linux

Fa poc es va donar a conèixer la notícia a la xarxa el descobriment de una nova vulnerabilitat a Linux que està catalogada com de «Alta gravetat» que afecta tots els nuclis des de la versió 5.8, així com als derivats, inclòs Android.

conegut com Dirty Pipe, permet sobreescriure dades en arxius de només lectura i pot conduir a una escalada de privilegis mitjançant la injecció de codi en els processos root.

Encara que ja s'ha aplicat al nucli principal de Linux, l'error podria convertir-se en una arma en forma d'un exploit d'escalada de privilegis a tots els dispositius que executen la versió 5.8 o posterior del nucli de Linux.

També vol dir que un munt de telèfons intel·ligents Android recent llançats, com el Samsung Galaxy S22 i el Google Pixel 6, també són vulnerables, fins que cada dispositiu rebi el pegat de nucli apropiat de l'OEM respectiu.

Sobre Dirty Pipe

La vulnerabilitat va ser revelada per l'investigador de seguretat Max Kellerman i catalogada com (CVE-2022-0847), va trigar uns mesos a trobar un exploit de prova de concepte.

La vulnerabilitat permet que un usuari sense privilegis injecti i sobrescrigui dades en fitxers de només lectura, inclosos els processos SUID que s'executen com a root. El sobrenom col·loquial sembla un joc amb l'infame error Vaca bruta i un mecanisme de Linux anomenat canalització per al pas de missatges entre processos, ja que aquest darrer s'usa durant la rutina d'explotació.

Tot va començar fa un any amb un tiquet de suport relacionat amb arxius corruptes. Un client es va queixar que no es podien descomprimir els registres daccés descarregats. I, de fet, hi havia un arxiu de registre corrupte en un dels servidors de registre; es podia descomprimir, però el gzip informava un error de CRC. No podia explicar perquè estava corrupte, però vaig assumir que el procés de divisió nocturna s'havia bloquejat i produït un arxiu corrupte. Vaig corregir manualment el CRC de l'arxiu, vaig tancar el tiquet i aviat vaig oblidar-me del problema.

Després de mesos d'anàlisi, l'investigador finalment va descobrir que els arxius corruptes del client eren el resultat d'un error al nucli de Linux. Vaig trobar una manera d'explotar Dirty Pipe per permetre que qualsevol persona amb un compte, inclosos els comptes nobody menys privilegiats, afegiu una clau SSH al compte de l'usuari root.

Per activar la vulnerabilitat, Kellerman va compartir la prova de concepte, l'atacant ha de tenir permisos de lectura. A més, el desplaçament no ha d'estar en un límit de pàgina, l'escriptura no pot creuar un límit de pàgina i el fitxer no es pot canviar de mida.

Per aprofitar aquesta vulnerabilitat, cal: crear una canonada, omplir la canonada amb dades arbitràries (per establir l'indicador PIPE_BUF_FLAG_CAN_MERGE a totes les entrades de l'anell), buidar la canonada (deixant la bandera establerta a totes les instàncies d'estructura pipe_buffer a l'estructura del anell pipe_inode_info), combineu les dades del fitxer de destinació (obert amb O_RDONLY) a la canonada just abans del desplaçament de destinació i escriviu dades arbitràries a la canonada.

Dirty Pipe també afecta qualsevol versió d'Android basada en una de les versions vulnerables del nucli de Linux. Com que Android està tan fragmentat, els models de dispositius afectats no es poden rastrejar de manera uniforme.

Segons Kellermann, Google va fusionar la correcció d'errors amb el nucli d'Android el mes passat, just després que es va solucionar amb el llançament de les versions 5.16.11, 5.15.25 i 5.10.102 del nucli de Linux.

Havent dit això, probablement haurem desperar una mica abans que els OEM comencin a implementar actualitzacions dAndroid que continguin la solució. El Pixel 6 de Google, per exemple, continua sent vulnerable, però els usuaris avançats poden mitigar la falla instal·lant un kernel personalitzat pegat del mercat d'accessoris com una opció alternativa.

Els desenvolupadors del kernel de Linux van publicar correccions (5.16.11, 5.15.25, 5.10.102) el 23 de febrer, mentre que Google va col·locar el pegat al kernel d'Android el 24 de febrer. Kellermann i altres experts van comparar la vulnerabilitat amb CVE-2016-5195 “Dirty Cow” i van dir que encara és més fàcil d'explotar.

Finalment si estàs interessat en conèixer més a l'respecte, pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.