Van trobar una vulnerabilitat a Snap que permet executar codi amb privilegis root

vulnerabilitat

Si s'exploten, aquestes falles poden permetre als atacants obtenir accés no autoritzat a informació confidencial o, en general, causar problemes

Fa pocs dies Qualys va donar a conèixer la notícia que ha identificat una vulnerabilitate (ja catalogada sota CVE-2022-3328) en la utilitat snap-confine, que s'envia amb l'indicador root SUID i el procés snapd la flama per formar un entorn executable per a aplicacions distribuïdes en paquets format snap.

S'esmenta que la vulnerabilitat permet que un usuari local sense privilegis aconsegueixi l'execució del codi com a root a la configuració predeterminada d'Ubuntu.

Curiosament, la vulnerabilitat en qüestió es va introduir en el procés de corregir una vulnerabilitat similar del febrer en un snap-confine.

Quin impacte té CVE-2022-3328?

Qualys detalli al seu informe que la vulnerabilitat en snap-confine és causada per una condició de carrera a la funció must_mkdir_and_open_with_perms(), agregada per protegir contra la substitució del directori /tmp/snap.$SNAP_NAME per un enllaç simbòlic després de la verificació del propietari, però abans de la trucada al sistema de muntatge es truca per enllaçar directoris de muntatge en ell per a un paquet en format span .

La seguretat agregada va ser canviar el nom del directori /tmp/snap.$SNAP_NAME a un altre directori a /tmp amb un nom aleatori si existeix i no és propietat de l'usuari root.

En explotar l'operació de canvi de nom del directori /tmp/snap.$SNAP_NAME, els investigadors van aprofitar el fet que snap-confine també crea un directori /tmp/snap.rootfs_x per al contingut del paquet snap. mkdtemp() que tria aleatòriament la part x del nom, però un paquet anomenat rootfs_x pot passar per sc_instance_name_validate (és a dir, la idea és tenir $SNAP_NAME establert a «rootfs_x» i després l'operació de canvi de nom donarà com a resultat la sobreescriptura el directori /tmp/snap.rootfs_x amb el root a snap).

Per aconseguir ús simultani de /tmp/snap.rootfs_xx i el canvi de nom de /tmp/snap.$SNAP_NAME, es van iniciar dues instàncies de snap-confine.

Tan aviat com la primera instància creava /tmp/snap.rootfs_xx el procés es bloquejava i s'iniciava una segona instància amb el nom de paquet rootfs_x, la qual cosa provocava que el directori temporal de la segona instància /tmp/snap.$SNAP_NAME esdevingués /tmp/snap .rootfs_x (directori root) de la primera instància.

Immediatament després de fer el canvi de nom, la segona instància va fallar i /tmp/snap.rootfs_x es va reemplaçar amb manipulació de condicions de carrera, com a l'explotació de la vulnerabilitat del febrer. Després del canvi, el bloqueig d'execució es va eliminar de la primera instància i els atacants van obtenir un control total sobre el directori arrel instantani.

El darrer pas va ser crear un enllaç simbòlic /tmp/snap.rootfs_x/tmp que va ser utilitzat per la funció sc_bootstrap_mount_namespace() per enllaçar i muntar el directori real gravable /tmp a qualsevol directori al sistema de fitxers, ja que l'anomenada mount() segueix enllaços simbòlics abans del muntatge. Aquest muntatge està bloquejat per les restriccions d'AppArmor, però per eludir aquest bloqueig, l'exploit va utilitzar dues vulnerabilitats auxiliars a multipathd.

L'explotació exitosa de les tres vulnerabilitats permet que qualsevol usuari sense privilegis obtingui privilegis de root al dispositiu vulnerable. Els investigadors de seguretat de Qualys van verificar la vulnerabilitat, van desenvolupar un exploit i van obtenir privilegis complets d'arrel a les instal·lacions predeterminades d'Ubuntu. 

Tan bon punt la Unitat de Recerca d'Amenaces de Qualys va confirmar la vulnerabilitat, ens involucrem en la divulgació responsable de la vulnerabilitat i ens coordinem amb els proveïdors i les distribucions de codi obert per anunciar aquesta vulnerabilitat acabada de descobrir. 

Els investigadors van poder preparar un exploit funcional que brinda accés al root a Ubuntu Server 22.04, que, a més de la vulnerabilitat de snap-confine, també involucra dues vulnerabilitats en el procés multipathd (CVE-2022-41974, CVE-2022-41973) relacionat amb l'omissió de permisos en passar ordres privilegiades i el maneig insegur d'enllaços simbòlics.

Cal esmentar que el problema es va solucionar en el llançament de snapd 2.57.6, a més que s'han llançat actualitzacions de paquets per a totes les branques compatibles d'Ubuntu.

Finalment si estàs interessat en poder 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: AB Internet Networks 2008 SL
  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ó.