CVE-2024-3094 XZ Backdoor

CVE-2024-3094 XZ Atzeko atea

Celia Catalán



Kaixo guztioi, gaurko artikuluan azken egunotan asko eztabaidatu den kasu bati buruz hitz egingo dugu eta CVE-2024-3094 ahultasuna edo normalean “XZ-n atzeko atea” deitzen zaion moduan.

XZ Utils ia Linux banaketa guztietan dagoen kode irekiko datuak konprimitzeko tresna bat da, fitxategi formatu handiak konprimitzeko erabiltzen dena, partekatzeko tamaina txikiago eta kudeagarriagoetan. Kode irekiko softwarea izanik, garatzaileek modu zabalean mantentzen eta eguneratzen dute. 

Eguneratze hauek “Pull Requests” deritzonaren bidez gehitzen zaizkio proiektuari eta onartu aurretik, aurretik lagundu duten beste taldekideek berrikusten dituzte, proposatutako iturburu-kodean akatsak saihesteko.

Kasu honetan, XZ proiektuan lagundu zuen Github erabiltzaile batek, Jia Tan izenekoak, kode aldaketak berrikusteko eta onartzeko baimenak lortzea lortu zuen, gainontzeko taldekideen konfiantza lortuz eta bere ekarpenak onartu ahal izan zituen haiek berrikusi gabe. beste kideek.

Taldekideek bere lanean jarritako konfiantza horrekin, Jia-k kode gaiztoa sartu zuen xz-utils proiektuan, SSH zerbitzuaren autentifikazioa oztopatzeko eta urruneko kodea exekutatzeko edo RCE ahalbidetzeko asmoz.

Zaurgarritasunaren azalpena


explicación de la vulnerabilidad CVE-2024-3094 XZ Blackdoor


Andrés Freund Microsoft-eko software ingeniariak sshd zerbitzuarekin portaera ezohikoa detektatu zuenean hasi zen, CPU kopuru handia kontsumitzen zuenean.

XZ eraikitze-prozesuaren barruan, "Build-to-Host.m4" gidoia exekutatzen da. Script honek kode lerro hau dauka:

gl_[$1]config='sed "r\n" $gl_am_configmake | eval $gl_path_map | $gl[$1]_aurrizkia -d 2>/dev/null'

Horrek konfigurazio script-aren amaieran lausotutako script bat sartzen du. Konfigurazio-script hau xz-utils eta liblzma-ren MakeFiles sortzeaz arduratzen da.

Scriptaren helburu nagusia exekuzioan liblzma MakeFile aldatzea da, RSA_public_decrypt@....pl-ek atzeko atearen kode gaiztoa seinalatuaraziz.  

Sshd autentifikazio-prozesuan, RSA_public_decrypt@....pl funtzioa deitzen da, helburu duen erasotzailearen kode gaiztoa exekutatzea eraginez. Kode hau autentifikazio-prozesuan zehar pasatzen den eta egiaztapen-pauso eta sinadura-kontrol batzuen menpe egongo den gako publikoaren karga ateratzeaz arduratzen da. Egiaztapen hauek arrakastaz gainditzen baditu, libc system() funtziora transferitzen da, zeina arduratuko den karga exekutatu eta urruneko kodearen exekuzioa (RCE) egiteaz.

Konfigurazio script-ean exekutatzen den kode lausoak baldintza jakin batzuetan soilik sortzen du atzeko atea:

1. Xede-sistema eragileak Linux x86-64 izan behar du.

2. XZ eraikitze prozesuak Debian edo RPM pakete bat eraikitzeko parte izan behar du.

3. Deitzen den bitarra /usr/sbin/sshd bidean egon behar du

4. TERM ingurune-aldagaia ez da ezarri behar

5. LD_DEBUG eta LD_PROFILE aldagaiek ere ez dute izan behar

6. LANG ingurune-aldagaia lehenespenez ezarri behar da sshd-en bidez.

Eragindako banaketak

  • Fedora 41 eta Fedora Rawhide
  • Kali Linux martxoaren 26tik 29ra eguneratu da
  • OpenSuse Tumbleweed
  • Alpine 5.6.0, 5.6.0-r0, 5.6.0-r1, 5.6.1, 5.6.1-r0 y 5.6.1-r1
  • xz-utils 5.6.0 eta 5.6.1 bertsioak instalatuta dituen Arch

Gainera, xz-utils softwarearen bertsio zaurgarri bat instalatu den zehazteko, JFrog taldeak sortutako script-a erabil dezakezu, hurrengo estekan aurki dezakezuna.

Egiaztatzaile hau nahiko sinplea da, lehen aipatu ditugun beharrezko baldintzen parte diren sei egiaztapenak egiten ditu ahultasun hori ustiatu ahal izateko. Erabilera adibide bat erakusten dizugu:



Mila esker eta hurrengo zatira arte!

Alexander Auñón, Iraingarriko Segurtasun Ingeniaria at Zerolynx 
Martin besterik ez ,Zibersegurtasuneko aholkularia n Zerolynx.


Itzuli blogera

Utzi iruzkin bat

Kontuan izan iruzkinak argitaratu aurretik onartu behar direla.