Van ser trobades dues vulnerabilitats a Snap i permetien poder executar codi com a root

Qualys va donar a conèixer la notícia que identifico dues vulnerabilitats (CVE-2021-44731 i CVE-2021-44730) en la utilitat snap-confine, enviada amb l'indicador root SUID i anomenada pel procés snapd per generar un entorn executable per a aplicacions distribuïdes en paquets snap.

A la publicació de bloc s'esmenta que les vulnerabilitats permeten que un usuari local sense privilegis aconsegueixi l'execució del codi com a root al sistema.

La primera vulnerabilitat permet un atac de manipulació denllaços físics, però cal desactivar la protecció d'enllaços físics del sistema (establint sysctl fs.protected_hardlinks a 0).

el problema es deu a una verificació incorrecta de la ubicació dels executables de les utilitats snap-update-ns i snap-discard-ns que s'executen com a root. La ruta a aquests fitxers es va calcular a la funció sc_open_snapd_tool() en funció de la seva pròpia ruta des de /proc/self/exe, el que permet crear un enllaç fix per confinar al seu directori i col·locar les seves opcions per a snap-update-ns i snap-discard-ns en aquest directori. Quan s'inicia des d'un enllaç físic, snap-confine as root executarà els fitxers snap-update-ns i snap-discard-ns substituïts per l'atacant des del directori actual.

L'explotació d'aquesta vulnerabilitat permet que qualsevol usuari sense privilegis obtingui privilegis de root a l'amfitrió vulnerable. Els investigadors de seguretat de Qualys han pogut verificar de manera independent la vulnerabilitat, desenvolupar un exploit i obtenir privilegis complets d'arrel a les instal·lacions predeterminades d'Ubuntu.

Tan bon punt l'equip de recerca de Qualys va confirmar la vulnerabilitat, ens involucrem en la divulgació responsable de la vulnerabilitat i ens coordinem amb les distribucions de proveïdors i de codi obert per anunciar això.recien descobertvulnerabilitat.

La segona vulnerabilitat és causada per una condició de carrera i es pot explotar a la configuració predeterminada d'escriptori d'Ubuntu. Perquè l'exploit funcioni amb èxit a Ubuntu Server, heu de seleccionar un dels paquets de la secció Snaps de servidor destacades durant la instal·lació.

La condició de carrera es manifesta a la funció setup_private_mount() trucada durant la preparació de lespai de noms del punt de muntatge per al paquet instantani. Aquesta funció crea un directori temporal «/tmp/snap.$SNAP_NAME/tmp» o utilitza un directori existent per vincular i muntar directoris per al paquet instantani.

Com que el nom del directori temporal és predictible, un atacant pot canviar el contingut a un enllaç simbòlic després de verificar el propietari, però abans de trucar al sistema de muntatge. Per exemple, podeu crear un enllaç simbòlic «/tmp/snap.lxd/tmp» al directori /tmp/snap.lxd que apunti a un directori arbitrari i l'anomenada mount() seguirà l'enllaç simbòlic i muntarà el directori a l'espai de noms.

De manera similar, podeu muntar el contingut a /var/lib i, substituint /var/lib/snapd/mount/snap.snap-store.user-fstab, organitzeu el muntatge del vostre directori /etc a l'espai de noms del paquet snap per carregar la vostra llibreria des de l'accés arrel reemplaçant /etc/ld.so.preload.

S'observa que crear un exploit va resultar ser una tasca no trivial, ja que la utilitat snap-confine està escrita utilitzant tècniques de programació segures (snapd està escrit a Go, però C s'usa per a snap-confine), té protecció basada en els perfils d'AppArmor, filtra les trucades del sistema segons el mecanisme seccomp i fa servir un espai de noms de muntatge per a l'aïllament.

Tot i això, els investigadors van poder preparar un exploit funcional per obtenir accés de root al sistema. El codi d'explotació es publicarà unes quantes setmanes després que els usuaris instal·lin les actualitzacions proporcionades.

Finalment, cal esmentar que lus problemes es van solucionar en l'actualització del paquet snapd per a les versions d'Ubuntu 21.10, 20.04 i 18.04.

A més que per a les altres distribucions que fan ús de Snap, s'ha llançat Snapd 2.54.3 que, a més dels problemes anteriors, corregeix una altra vulnerabilitat (CVE-2021-4120), que permet, en instal·lar paquets de complement especialment dissenyats, substituir les regles arbitràries d'AppArmor i eludir les restriccions d'accés establertes per al paquet.

si estàs interessat a poder conèixer més sobre això, 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ó.