Două vulnerabilități au fost găsite în Snap și au permis să ruleze cod ca root

Qualys a fost dezvăluit știrile pe care le identific două vulnerabilități (CVE-2021-44731 și CVE-2021-44730) în utilitarul snap-confine, trimis cu indicatorul SUID rădăcină și apelat de procesul snapd pentru a genera un mediu executabil pentru aplicațiile distribuite în pachete snap.

În postarea de pe blog se menționează că vulnerabilitățile permit unui utilizator local neprivilegiat să realizeze execuția codului ca root in sistem.

Prima vulnerabilitate permite un atac de manipulare a legăturii fizice, dar necesită dezactivarea protecției hardlink-urilor sistemului (prin setarea sysctl fs.protected_hardlinks la 0).

Problema se datorează unei verificări incorecte a locației executabilelor a utilitarelor snap-update-ns și snap-discard-ns care rulează ca root. Calea către aceste fișiere a fost calculată în funcția sc_open_snapd_tool() pe baza propriei sale căi din /proc/self/exe, permițându-vă să creați o legătură rigidă pentru a vă limita în director și să puneți opțiunile pentru snap-update-ns și snap -discard-ns în acest director. Când este lansat de pe o legătură hard, snap-confine ca root va executa fișierele snap-update-ns și snap-discard-ns substituite de atacator din directorul curent.

Exploatarea cu succes a acestei vulnerabilități permite oricărui utilizator fără privilegii să obțină privilegii root pe gazda vulnerabilă. Cercetătorii de securitate Qualys au reușit să verifice în mod independent vulnerabilitatea, să dezvolte un exploit și să obțină privilegii rădăcină complete pentru instalările implicite Ubuntu.

De îndată ce echipa de cercetare Qualys a confirmat vulnerabilitatea, ne-am angajat într-o dezvăluire responsabilă a vulnerabilității și ne-am coordonat cu distribuitorii de furnizori și open source pentru a anunța această vulnerabilitate recent descoperită.

A doua vulnerabilitate este cauzată de o condiție de cursă și poate fi exploatat în configurația implicită pentru desktop Ubuntu. Pentru ca exploit să funcționeze cu succes pe Ubuntu Server, trebuie să selectați unul dintre pachete din secțiunea „Featured Server Snaps” în timpul instalării.

starea de cursă se manifestă în funcția setup_private_mount(). apelat în timpul pregătirii spațiului de nume punct de montare pentru pachetul instant. Această funcție creează un director temporar „/tmp/snap.$SNAP_NAME/tmp” sau folosește unul existent pentru a lega și a monta directoare pentru pachetul snap la acesta.

Deoarece numele directorului temporar este previzibil, un atacator își poate schimba conținutul într-o legătură simbolică după verificarea proprietarului, dar înainte de a apela sistemul de montare. De exemplu, puteți crea un link simbolic „/tmp/snap.lxd/tmp” în directorul /tmp/snap.lxd care indică un director arbitrar, iar apelul mount() va urma linkul simbolic și va monta directorul în spațiu de nume.

În mod similar, puteți monta conținutul său în /var/lib și, suprascriind /var/lib/snapd/mount/snap.snap-store.user-fstab, puteți aranja să vă montați directorul /etc în spațiul de nume pachet snap pentru a vă încărca biblioteca. de la accesul root prin înlocuirea /etc/ld.so.preload.

Se observă că crearea unui exploit s-a dovedit a fi o sarcină netrivială, deoarece utilitarul snap-confine este scris folosind tehnici de programare securizate (snapd este scris în Go, dar C este folosit pentru snap-confine), are protecție bazată pe profiluri AppArmor, filtrează apelurile de sistem pe baza mecanismului seccomp și folosește un spațiu de nume de montare pentru izolare.

Cu toate acestea, cercetătorii au reușit să pregătească o exploatare funcțională pentru a obține acces root pe sistem. Codul de exploatare va fi lansat la câteva săptămâni după ce utilizatorii instalează actualizările furnizate.

În sfârșit, merită menționat căProblemele au fost rezolvate în actualizarea pachetului snapd pentru versiunile Ubuntu 21.10, 20.04 și 18.04.

Pe lângă celelalte distribuții care folosesc Snap, a fost lansat Snapd 2.54.3, care, pe lângă problemele de mai sus, remediază o altă vulnerabilitate (CVE-2021-4120), care permite, la instalarea pachetelor de plugin special concepute, treceți peste regulile AppArmor arbitrare și ocoliți restricțiile de acces setate pentru pachet.

Dacă ești interesat să afle mai multe despre asta, puteți verifica detaliile În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.