# Porta del darrere de XZ Utils

La porta del darrere de XZ Utils fou un incident reportat el 29 de març de 2024 pel desenvolupador de programari Andres Freund quan va anunciar que havia trobat una porta del darrere introduïda de manera malintencionada a la utilitat Linux xz dins de la biblioteca liblzma a les versions 5.6.0 i 5.6.1 el febrer de 2024. xz es desplega habitualment com a part de la majoria de distribucions de Linux, encara que la porta del darrere només s'orientava a sistemes basats en Debian i RPM que s'executen amb l'arquitectura x86-64. La versió amb porta del darrere no es va desplegar àmpliament en el moment del descobriment. Aquesta porta del darrere oferia a un atacant que posseeixi una execució de codi remot de clau privada Ed448 específica als sistemes Linux afectats. A la incidència se li assignà una puntuació CVSS de 10,0, la puntuació més alta possible.

## Rerefons

Andres Freund, empleat de Microsoft i desenvolupador de PostgreSQL, va informar de la porta del darrere després d'investigar una regressió del rendiment a Debian Sid. Freund es va adonar que les connexions SSH generaven una quantitat inesperadament alta d'ús de la CPU, així com provocaven errors a Valgrind, una eina de depuració de memòria. Freund va informar de la seva troballa a la llista de correu de seguretat de codi obert d'Openwall Project, que la va portar a l'atenció de diversos distribuïdors de programari. Es descobriren proves que l'atacant va fer esforços per ofuscar el codi ja que la porta del darrere constava de múltiples etapes que actuaven conjuntament.
Un cop incorporada la versió compromesa al sistema operatiu, alteraria el comportament del procés del servidor SSH d'⁣OpenSSH abusant de la biblioteca systemd, permetent a l'atacant obtenir el mateix nivell d'accés que qualsevol administrador autoritzat. Segons l'anàlisi de Red Hat, la porta del darrere podia "permetre a un actor maliciós trencar l'autenticació sshd i obtenir accés no autoritzat a tot el sistema de forma remota".
Una investigació posterior va trobar que la porta del darrere va ser la culminació d'aproximadament tres anys d'esforç d'un usuari que es deia Jia Tan i el sobrenom JiaT75, que va obtenir accés a una posició de confiança dins del projecte xz, després d'un període de pressió sobre el responsable de manteniment per cedir el control del projecte a través d'altres nous participants. La porta del darrere destacava pel seu nivell de sofisticació i pel fet que l'autor practicava un alt nivell de seguretat operativa durant un llarg període mentre treballava per assolir una posició de confiança. L'investigador de seguretat Dave Aitel ha suggerit que s'ajusta al patró atribuïble a APT29, un avançat actor d'amenaces persistents que es creu que treballa en nom del Servei d'Intel·ligència Exterior Rus (SVR RF).

## Mecanisme

Se sap que el codi maliciós es trobava a les versions 5.6.0 i 5.6.1 del paquet de programari XZ Utils. L'explotació roman inactiva tret que s'utilitzi un pedaç específic de tercers del servidor SSH. En les circumstàncies adequades, aquesta interferència podria permetre a un actor maliciós trencar l'autenticació sshd i obtenir accés no autoritzat a tot el sistema de forma remota. El mecanisme maliciós consisteix en dos fitxers de prova comprimits que contenen el codi binari maliciós. Aquests fitxers estan disponibles al repositori git, però romanen inactius tret que s'extreguin i s'injectin al programa. El codi utilitza el mecanisme glibc IFUNC per substituir una funció existent a OpenSSH anomenada RSA_public_decrypt per una versió maliciosa. OpenSSH normalment no carrega liblzma, però un pedaç comú de tercers utilitzat per diverses distribucions de Linux fa que carregui libsystemd, que al seu torn carrega lzma. Es va incloure una versió modificada de build-to-host.m4 al fitxer tar de llançament penjat a GitHub, que extreu un script que realitza la injecció real a liblzma. Aquest fitxer m4 modificat no estava present al repositori git; només estava disponible a partir dels fitxers tar publicats pel mantenidor separats de git. Sembla que l'script només realitza la injecció quan el sistema es basa en un sistema Linux x86-64 que utilitza glibc i GCC i els paquets de dpkg o rpm.

## Resposta
### Remediació

L'agència federal nord-americana responsable de la ciberseguretat i la infraestructura, l'Agència de seguretat cibernètica i d'infraestructura, va emetre un avís de seguretat, recomanant que els dispositius afectats tornessin a una versió anterior no compromesa. Els venedors de programari Linux, inclosos Red Hat, SUSE i Debian, han reflectit l'avís CISA i han revertit les actualitzacions dels paquets afectats a versions anteriors. GitHub va desactivar els miralls per al repositori de xz.

### Resposta més àmplia

Alex Stamos de SentinelOne va opinar que "aquesta podria haver estat la porta del darrere més estesa i eficaç que s'hagi plantat mai en qualsevol producte de programari", i va assenyalar que si la porta del darrere no s'hagués detectat, hauria "donat als seus creadors una clau mestra per a qualsevol dels centenars de milions d'ordinadors a tot el món que executen SSH". A més, l'incident també va provocar una discussió sobre la viabilitat de tenir peces crítiques de la ciberinfraestructura a les espatlles de voluntaris no remunerats.

## Referències

* ↑ Corbet, Jonathan. «A backdoor in xz». LWN. [Consulta: 2 abril 2024].
* ↑ «CVE-2024-3094». National Vulnerability Database. NIST. [Consulta: 2 abril 2024].
* ↑ Gatlan, Sergiu. «Red Hat warns of backdoor in XZ tools used by most Linux distros» (en anglès americà). BleepingComputer. [Consulta: 29 març 2024].
* ↑ Akamai Security Intelligence Group. «XZ Utils Backdoor – Everything You Need to Know, and What You Can Do», 01-04-2024.
* 1 2 3 4 5 James, Sam. «xz-utils backdoor situation (CVE-2024-3094)» (en anglès). GitHub. [Consulta: 2 abril 2024].
* ↑ Zorz, Zeljka. «Beware! Backdoor found in XZ utilities used by many Linux distros (CVE-2024-3094)». Help Net Security, 29-03-2024. [Consulta: 29 març 2024].
* 1 2 3 4 Goodin, Dan. «What we know about the xz Utils backdoor that almost infected the world» (en anglès americà). Ars Technica, 01-04-2024. [Consulta: 1r abril 2024].
* ↑ «oss-security - backdoor in upstream xz/liblzma leading to ssh server compromise». www.openwall.com. [Consulta: 3 abril 2024].
* ↑ Larabel, Michael. «XZ Struck By Malicious Code That Could Allow Unauthorized Remote System Access» (en anglès). Phoronix. [Consulta: 29 març 2024].
* ↑ O'Donnell-Welch, Lindsey. «Red Hat, CISA Warn of XZ Utils Backdoor» (en anglès). Decipher, 29-03-2024. [Consulta: 29 març 2024].
* 1 2 Claburn, Thomas. «Malicious backdoor spotted in Linux compression library xz» (en anglès). The Register. [Consulta: 1r abril 2024].
* 1 2 3 «Urgent security alert for Fedora 41 and Fedora Rawhide users» (en anglès). Red Hat. [Consulta: 29 març 2024].
* ↑ Greenberg, Andy. «The Mystery of ‘Jia Tan,’ the XZ Backdoor Mastermind». Wired. [Consulta: 3 abril 2024].
* ↑ «Reported Supply Chain Compromise Affecting XZ Utils Data Compression Library, CVE-2024-3094» (en anglès). CISA, 29-03-2024. [Consulta: 29 març 2024].
* ↑ «SUSE addresses supply chain attack against xz compression library». SUSE Communities. SUSE. [Consulta: 29 març 2024].
* ↑ Larabel, Michael. «GitHub Disables The XZ Repository Following Today's Malicious Disclosure» (en anglès). Phoronix, 29-03-2024. [Consulta: 31 març 2024].
* ↑ Roose, Kevin. «Did One Guy Just Stop a Huge Cyberattack?». NYTimes. NYTimes. [Consulta: 4 abril 2024].
* ↑ Khalid, Amrita. «How one volunteer stopped a backdoor from exposing Linux systems worldwide» (en anglès). The Verge, 02-04-2024. [Consulta: 4 abril 2024].

## Enllaços externs

* Porta del darrere de XZ Utils - Lloc web oficial
* Andres Freund's report to the Openwall oss-security mailing list