Een achterdeur gevonden in een veelgebruikt Linux-hulpprogramma verbreekt gecodeerde SSH-verbindingen

Internet Backdoor in een reeks binaire code in de vorm van een oog.
Toename / Internet Backdoor in een reeks binaire code in de vorm van een oog.

Getty-afbeeldingen

Onderzoekers hebben een kwaadaardige achterdeur gevonden in een compressietool die zijn weg heeft gevonden naar veelgebruikte Linux-distributies, waaronder die van Red Hat en Debian.

Het compressiehulpprogramma, bekend als xz Utils, introduceerde kwaadaardige code in versies 5.6.0 en 5.6.1, volgens Andres Freund, de ontwikkelaar die het ontdekte. Er zijn geen bevestigde berichten dat deze builds zijn opgenomen in productiereleases voor grote Linux-distributies, maar zowel Red Hat als Debian hebben gemeld dat onlangs uitgebrachte bèta-releases ten minste één van de backdoored-builds gebruikten, met name in Fedora 40 en Fedora Rawhide en Debian-testen, onstabiele en experimentele distributies.

Omdat de achterdeur werd ontdekt voordat kwaadaardige versies van xz Utils aan productieversies van Linux werden toegevoegd, “heeft het niet echt invloed op iemand in de echte wereld”, zei Will Dormann, senior kwetsbaarheidsanalist bij beveiligingsbedrijf ANALYGENCE, in een online interview. “Maar dat komt alleen omdat het al vroeg werd ontdekt vanwege slecht acteerslordigheid. Als het niet was ontdekt, zou het catastrofaal zijn geweest voor de wereld.”

Verschillende mensen, waaronder twee Ars-lezers, hebben gemeld dat meerdere applicaties in de HomeBrew-pakketbeheerder voor macOS afhankelijk zijn van de backdoored 5.6.1-versie van xz Utils. Die apps, zo zei een gebruiker, zijn onder meer: ​​aom, cairo, ffmpeg, gcc, glib, harfbuzz, jpeg-xl, leptonica, libarchive, libtiff, little-cms2, numpy, openblas, openjpeg, openvino, pango, python@3.11, @ 3.12, tesseract, webp, yt-dlp, zstd. Een andere gebruiker zei dat HomeBrew het hulpprogramma nu heeft teruggezet naar versie 5.4.6.

Schending van SSH-authenticatie

De eerste tekenen van de achterdeur werden gepresenteerd in een update van 23 februari waarin versluierde code werd toegevoegd, zeiden Red Hat-functionarissen in een e-mail. De update van de volgende dag bevatte een kwaadaardig installatiescript dat zichzelf injecteerde in functies die worden gebruikt door sshd, het binaire bestand dat SSH laat werken. De kwaadaardige code werd alleen gevonden in gearchiveerde releases – bekend als tarballs – die upstream worden vrijgegeven. Het heeft geen invloed op de zogenaamde GIT-code die beschikbaar is in de repositories, hoewel deze artefacten uit de tweede fase bevatten die injectie tijdens de bouwtijd mogelijk maken. Als de versluierde code die op 23 februari werd geïntroduceerd aanwezig is, zorgen de artefacten in de GIT-versie ervoor dat de achterdeur werkt.

De kwaadaardige wijzigingen zijn ingediend door JiaT75, een van de twee belangrijkste xz Utils-ontwikkelaars met jarenlange bijdragen aan het project.

“Gezien de activiteit gedurende meerdere weken is de dader er direct bij betrokken, of is zijn systeem behoorlijk ernstig aangetast”, schreef een functionaris van een OpenWall-distributeur in een advies. “Helaas lijkt dit laatste een minder waarschijnlijke verklaring, gezien het feit dat ze hebben gecommuniceerd op de verschillende ‘fixes’-lijsten” die in recente updates zijn opgenomen. U kunt deze updates en oplossingen hier, hier, hier en hier vinden.

Donderdag ging iemand die de naam van de ontwikkelaar gebruikte naar de Ubuntu-ontwikkelaarssite en verzocht om de backdoored-versie 5.6.1 in te bouwen in productiebuilds, omdat deze bugs repareerde die ervoor zorgden dat een tool die bekend staat als Valgrind crashte.

“Dit zou bouwscripts en testpijplijnen kunnen breken die verwachten dat een bepaalde output van Valgrind doorgaat”, waarschuwde een persoon via een account dat op dezelfde dag was aangemaakt.

Eén van de Fedora-onderhouders zei vrijdag dat dezelfde ontwikkelaar hen de afgelopen weken had benaderd om te verzoeken dat Fedora 40, de bètaversie, een van de backdoored-hulpprogrammaversies zou bevatten.

“We hebben zelfs met hem samengewerkt om het valgrind-probleem op te lossen (dat nu veroorzaakt blijkt te zijn door een achterdeur die hij heeft toegevoegd)”, aldus een Ubuntu-onderhouder.

Hij maakt nu al twee jaar deel uit van het xz-project en voegt allerlei binaire testbestanden toe, en om eerlijk te zijn met dit niveau van verfijning zou ik wantrouwig zijn tegenover zelfs oudere versies van xz totdat het tegendeel bewezen is.

Onderhouders van xz Utils reageerden niet onmiddellijk op e-mails met vragen.

De kwaadaardige versies verstoren volgens de onderzoekers opzettelijk de authenticatie die wordt uitgevoerd door SSH, het meest gebruikte protocol om op afstand verbinding te maken met systemen. SSH biedt robuuste encryptie om ervoor te zorgen dat alleen geautoriseerde partijen verbinding maken met het externe systeem. De achterdeur is ontworpen om een ​​kwaadwillende actor in staat te stellen de authenticatie te verbreken en van daaruit ongeautoriseerde toegang tot het hele systeem te verkrijgen. De achterdeur werkt door het injecteren van een code tijdens een belangrijke fase van het inlogproces.

“Ik heb nog niet precies geanalyseerd wat er in de geïnjecteerde code wordt gecontroleerd om ongeautoriseerde toegang mogelijk te maken”, schreef Freund. “Aangezien dit werkt in de context van pre-authenticatie, lijkt het erop dat het een vorm van toegang of een andere vorm van uitvoering van code op afstand mogelijk zal maken.”

In sommige gevallen werkte de achterdeur niet zoals bedoeld. De bouwomgeving op Fedora 40 bevat bijvoorbeeld incompatibiliteiten die voorkomen dat injectie correct plaatsvindt. Fedora 40 is nu teruggekeerd naar de 5.4.x versie van xz Utils.

Xz Utils is beschikbaar voor de meeste, zo niet alle Linux-distributies, maar is niet standaard inbegrepen. Iedereen die Linux gebruikt, moet onmiddellijk contact opnemen met zijn distributeur om te bepalen of zijn systeem getroffen is. Freund leverde een script om te detecteren of een SSH-systeem kwetsbaar is.