Opdatering af XZ Utils 5.8.1 med sårbarhedsrettelse

Udgivelsen af XZ Utils 5.8.1 er offentliggjort og inkluderer biblioteket liblzma og værktøjer til at arbejde med komprimerede data i «.xz» format. XZ Utils 5.8.1 er den første betydelige udgivelse efter hændelsen vedrørende opdagelsen af en bagdør, der muliggør adgang via sshd. I sidste uge blev der oprettet et tag 5.8.0 i Git, men udgivelsen blev ikke officielt annonceret på grund af problemer med ydeevne og kompatibilitet med ældre versioner af GNU make, som blev opdaget efter offentliggørelsen af tagget.

I opdateringen XZ Utils 5.8.1 er der rettet en sårbarhed (CVE-2025-31115), som fører til nedbrud, når man forsøger at udpakkede specielt udformede arkiver. Sårbarheden skyldes adgang til et allerede frigivet hukommelsesområde (use after free). En angriber kan opnå at skrive sin værdi til en adresse, der beregnes som «nul-pointer + offset». Problemet anses for at være en utilsigtet fejl, da ændringen, der forårsagede det, blev indført i koden længe før udvikleren Jia Tan kom ind i projektet, hvis aktivitet førte til implementeringen af bagdøren.

Problemet opstår fra udgivelsen af XZ Utils 5.3.3alpha ved dekodning i multitrådet tilstand (enkelttrådet dekoder er ikke påvirket). Udover de standardværktøjer, der følger med xz-pakken, optræder sårbarheden også i tredjepartsprogrammer, der bruger funktionen lzma_stream_decoder_mt fra biblioteket liblzma. Sårbarheden er blevet rettet i udgivelsen af XZ Utils 5.8.1 og er også blevet overført til de stabile grene 5.4 og 5.6. Man kan følge med i opdateringerne i distributionerne på følgende sider: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Som en midlertidig beskyttelsesmetode kan man deaktivere dekodning af filer i multitrådet tilstand ved at bruge parametrene «—decompress —threads=1» ved kørsel af xz, eller ved at bruge værktøjet xzdec.

Blandt funktionelle ændringer i XZ Utils 5.8 kan nævnes:

  • I LZMA/LZMA2-dekoderen er der tilføjet mulighed for at bruge SSE2-instruktioner i stedet for memcpy()-funktionen på 32- og 64-bit x86 systemer. Ændringen har reduceret dekodningstiden med op til 5% ved byggemærket med Glibc og op til 15% ved byggemærket med musl ved udpakkede filer med meget høj kompressionsgrad.
  • I liblzma er kodningshastigheden forbedret på 64-bit systemer PowerPC og RISC-V.
  • I lzma/bcj.h er der tilføjet et lavniveau API til BCJ-filtre (Branch/Call/Jump) for RISC-V, ARM64 og x86 systemer.
  • Koden til beregning af CLMUL CRC er blevet omskrevet til x86, x86-64 og E2K systemer.
  • På platforme med LoongArch-processorer er der blevet anvendt instruktioner for at fremskynde beregningen af CRC32 kontrolsummen.
  • I værktøjet «xz» er der sikret et kald til funktionen fsync() for at tømme filcachene for den resulterende fil inden sletning af den oprindelige fil. For at deaktivere synkroniseringen inden sletning er indstillelsen «—no-sync» implementeret.
  • I værktøjerne xz, xzdec og lzmainfo er der sikret, at ikke-udskrivbare tegn bliver erstattet med spørgsmålstegnet ved skærmudgang.
  • I xz og xzdec på Linux-platformen er der opnået support for version 5 og 6 af Landlock-mekanismen for at isolere processen.
  • Et script til licenskontrol er blevet tilføjet: build-aux/license-check.sh.
  • Scripts såsom lzcmp, lzdiff, lzless, lzmore, lzgrep, lzegrep og lzfgrep, der er implementeret som udvidelser over værktøjet xz, er blevet deklassificeret.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster