Backdoor-ul xz-utils
(CVE-2024-3094):
ce poate și ce nu poate
detecta un scan de rețea
În martie 2024, Andres Freund (dezvoltator PostgreSQL) a descoperit accidental că versiunile xz-utils 5.6.0 și 5.6.1 conțin un backdoor introdus de un contributor (jiaT75) care a câștigat încrederea proiectului după aproximativ doi ani de contribuții.
Cum funcționează backdoor-ul
Lanțul de execuție:
- În distribuțiile care patch-uiesc
sshd(OpenSSH) să foloseascălibsystemd,sshdîncarcă indirectliblzma, biblioteca din xz-utils - La build: în arhivele de release,
build-to-host.m4extrage un payload obfuscat din fișiere de test aparent corupte - La rulare:
liblzma.so.5hookeazăRSA_public_decryptviaifuncresolver - La verificarea cheii SSH a clientului, dacă datele primite conțin un payload semnat cu cheia atacatorului (Ed448), se execută cod înainte de autentificare
Impact: execuție de cod la distanță (RCE) înainte de autentificare, pe sistemele care rulau 5.6.0 sau 5.6.1 din ramurile de dezvoltare ale distribuțiilor și aveausshdlegat deliblzma.
Versiuni afectate
- xz-utils
5.6.0(released 2024-02-24) - xz-utils
5.6.1(released 2024-03-09)
Distribuții afectate (la momentul publicării):
- Fedora 40 + 41 testing
- openSUSE Tumbleweed
- Kali Linux rolling (rare cazuri)
- Debian unstable / sid
NU au fost afectate (stable channels): Debian stable, Ubuntu LTS, RHEL, AlmaLinux, Rocky Linux.
Ce poate și ce nu poate arăta un scan de rețea
Network Scan (10 credite) primește o adresă IP sau o rețea și nu are acces pe host. Găsește porturile expuse și rulează pe ele șabloane Nuclei pentru CVE-uri (identificatori publici de vulnerabilități) cunoscute.
Bannerul SSH arată versiunea OpenSSH și uneori distribuția, dar nu versiunea liblzma. Din exterior nu se poate stabili dacă un host rulează xz-utils 5.6.0 sau 5.6.1, deci un scan de rețea nu confirmă și nu infirmă singur acest backdoor. Îți arată unde ai SSH expus, ca să știi pe ce hosturi faci verificarea locală:
xz --version ldd $(command -v sshd) | grep lzma
Dacă xz --version arată 5.6.0 sau 5.6.1, treci la remediere. Dacă sshd nu apare legat de liblzma, calea de atac descrisă mai sus nu se aplică, dar versiunea afectată tot trebuie înlocuită.
Remediere
Pașii recomandați:
- Instalează urgent pachetul
xz-utilsreparat de distribuția ta (upstream: 5.6.2 sau mai nou) - Repornește
sshddupă schimbarea pachetului - Dacă ai rulat versiunile afectate pe un host expus la Internet, tratează-l ca potențial compromis și verifică jurnalele de autentificare
- Rulează un Network Scan pe perimetru ca să vezi ce servicii SSH ai expuse
Lecția mai mare
Atacul jiaT75 e cazul de școală pentru integritatea lanțului de aprovizionare software. Ce ajută:
- Inventar al dependențelor (SBOM)
- Verificare semnături maintainers prin webs of trust
- Build-uri reproductibile (de exemplu Tor, NixOS)
Vrei să vezi ce servicii SSH ai expuse?
Network Scan (10 €) găsește porturile expuse și CVE-urile cunoscute pe care le prind șabloanele Nuclei.
Începe scan →