UtgÄvan av paketet XZ Utils 5.8.1 har publicerats, vilket inkluderar biblioteket liblzma och verktyg för att arbeta med komprimerade data i formatet ".xz". XZ Utils 5.8.1 blev den första betydande utgÄvan efter incidenten med upptÀckten av en bakdörr som organiserade inloggning via sshd. Förra veckan skapades en tagg i Git för 5.8.0, men utgÄvan annonserades inte officiellt pÄ grund av prestanda- och kompatibilitetsproblem med Àldre versioner av GNU make som upptÀcktes efter taggpubliceringen.
I uppdateringen XZ Utils 5.8.1 ÄtgÀrdades en sÄrbarhet (CVE-2025-31115) som ledde till krasch vid försök att packa upp sÀrskilt utformade arkiv. SÄrbarheten orsakas av Ätkomst till redan frigjord minnesomrÄde (use after free). En angripare kan fÄ sitt vÀrde att skrivas till en adress berÀknad som "nul-pointer + offset". Problemet betraktas som en oavsiktlig bugg eftersom den Àndring som orsakade det gjordes i koden lÄngt innan utvecklaren Jia Tan kom in i projektet, vars verksamhet ledde till införandet av bakdörren.
Problemet uppstĂ„r frĂ„n och med utgĂ„van av XZ Utils 5.3.3alpha vid avkodning i flertrĂ„dat lĂ€ge (ensamtrĂ„dad avkodare pĂ„verkas inte). Utöver de vanliga verktygen i paketet xz, upptrĂ€der sĂ„rbarheten Ă€ven i tredjepartsprogram som anvĂ€nder funktionen lzma_stream_decoder_mt frĂ„n biblioteket liblzma. SĂ„rbarheten Ă„tgĂ€rdades i utgĂ„van XZ Utils 5.8.1 och har Ă€ven överförts till de stabila grenarna 5.4 och 5.6. Uppdateringar i distributionerna kan följas via följande sidor: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Som en tillfĂ€llig lösning för att skydda sig kan dekodning av filer i flertrĂ„dat lĂ€ge inaktiveras genom att anvĂ€nda alternativen "âdecompress âthreads=1" vid körning av xz eller genom att anvĂ€nda verktyget xzdec.
Bland funktionella förÀndringar i grenen XZ Utils 5.8 kan nÀmnas:
- Avkodaren LZMA/LZMA2 har fĂ„tt möjlighet att anvĂ€nda SSE2-instruktioner istĂ€llet för funktionen memcpy() pĂ„ 32- och 64-bitars x86-system. Ăndringen har gjort det möjligt att förkorta avkodningstiden med upp till 5 % vid kompilering med Glibc, och med upp till 15 % vid kompilering med musl vid uppackning av filer med mycket hög komprimeringsgrad.
- I liblzma har hastigheten för kodning pÄ 64-bitars PowerPC och RISC-V-system ökat.
- I lzma/bcj.h har ett lÄgnivÄ-API för BCJ-filter (Branch/Call/Jump) lagts till för RISC-V-, ARM64- och x86-system.
- Koden för att berÀkna CLMUL CRC har skrivits om för x86-, x86-64- och E2K-system.
- PÄ plattformar med LoongArch-processorer anvÀnds instruktioner för att pÄskynda berÀkningen av CRC32-kontrollsummor.
- I verktyget "xz" tillhandahĂ„lls anropet av funktionen fsync() för att spola filcacher för den resulterande filen innan den ursprungliga filen tas bort. För att inaktivera synkronisering innan borttagning finns alternativet "âno-sync".
- I verktygen xz, xzdec och lzmainfo har icke-utskrivbara tecken ersatts med frÄgetecken nÀr information visas pÄ skÀrmen.
- I xz och xzdec pÄ Linux-plattformen har stöd för version 5 och 6 av Landlock-mekanismen införts för att isolera processen.
- Ett skript för licenskontroll har lagts till, build-aux/license-check.sh.
- Skripten lzcmp, lzdiff, lzless, lzmore, lzgrep, lzegrep och lzfgrep, som implementerades som tillÀgg till verktyget xz, har förklarats som förÄldrade.
KĂ€lla: opennet.ru
