Botimi i versionit XZ Utils 5.8.1, i cili përfshin bibliotekën liblzma dhe utilitat për punë me të dhëna të kompresuara në formatin «.xz». XZ Utils 5.8.1 ishte publikimi i parë i rëndësishëm pas incidentit të zbuluar me backdoor-in që mundësonte hyrjen përmes sshd. Java e kaluar, në Git u krijua taga 5.8.0, por lëshimi nuk u shpall zyrtarisht për shkak të problemeve me performancën dhe kompatibilitetin me versionet e vjetra të GNU make identifikuar pas publikimit të tagut.
Në përditësimin e XZ Utils 5.8.1 është eliminuar një vulnerabilitet (CVE-2025-31115), i cili shkakton një çaktivizim kur provoni të shkarkoni arkiva të formuara posaçërisht. Vulnerabiliteti shkaktohet nga aksesimi i një zone të liruar tashmë të kujtesës (use after free). Një sulmues mund të arrijë të shkruajë vlerën e tij në një adresë të llogaritur si «poké si zero + offset». Problemi po shqyrtohet si një gabim i paqëllimshëm, pasi ndryshimi që e shkaktoi atë ishte bërë në kod ë shumë kohë para se zhvilluesi Jia Tan të vinte në projekt, aktiviteti i të cilit çoi në implementimin e backdoor-it.
Problemi shfaqet qĂ« nga publikimi i XZ Utils 5.3.3alpha gjatĂ« dekodimit nĂ« mĂ«nyrĂ« shumĂ«fish (problemi nuk e prek dekoduesin njĂ«qarkor). PĂ«rveç utiliteteve standarde nga paketa xz, vulnerabiliteti shfaqet gjithashtu nĂ« programe tĂ« tjera qĂ« pĂ«rdorin funksionin lzma_stream_decoder_mt nga biblioteka liblzma. Vulnerabiliteti Ă«shtĂ« eliminuar nĂ« publikimin e XZ Utils 5.8.1 dhe Ă«shtĂ« transferuar gjithashtu nĂ« degĂ«t e qĂ«ndrueshme 5.4 dhe 5.6. Mund tĂ« ndiqni shfaqjen e pĂ«rditĂ«simeve nĂ« shpĂ«rndarje tĂ« ndryshme nĂ« faqet e mĂ«poshtme: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Si njĂ« mĂ«nyrĂ« pĂ«r tĂ« mbrojtur veten mund tĂ« çaktivizoni dekodimin e skedarĂ«ve nĂ« mĂ«nyrĂ« shumĂ«fish, duke pĂ«rdorur opsionet «âdecompress âthreads=1» kur filloni xz ose duke pĂ«rdorur utilitetin xzdec.
Nga ndryshimet funksionale në degën XZ Utils 5.8, mund të përmendim:
- Në dekoduesin LZMA/LZMA2 është shtuar mundësia e përdorimit të instrukcioneve SSE2 në vend të funksionit memcpy() në sistemet 32- dhe 64-bit x86. Ky ndryshim ka lejuar një reduktim të kohës së dekodimit deri në 5% kur është ndërtuar me Glibc, dhe deri në 15% kur është ndërtuar me musl gjatë shpërbërjes së skedarëve me shkallë shumë të lartë kompresimi.
- Në liblzma është rritur shpejtësia e kodimit në sistemet 64-bit PowerPC dhe RISC-V.
- Në lzma/bcj.h është shtuar një API i nivelit të ulët për filtrat BCJ (Branch/Call/Jump) për sistemet RISC-V, ARM64 dhe x86.
- Kodi për llogaritjen e CLMUL CRC për sistemet x86, x86-64 dhe E2K është ri-shkruar.
- Në platformat me procesorë LoongArch janë aktivizuar instrukcionet për të përshpejtuar llogaritjen e kontrolleve CRC32.
- NĂ« utilitetin «xz» Ă«shtĂ« siguruar thirrja e funksionit fsync() pĂ«r tĂ« shlyer caches e skedarĂ«ve pĂ«r skedarin e rezultatit para se tĂ« fshihet skedari origjinal. PĂ«r tĂ« çaktivizuar sinkronizimin para fshirjes, Ă«shtĂ« implementuar opsioni «âno-sync».
- Në utilitetet xz, xzdec dhe lzmainfo, gjatë daljes së informacionit në ekran është siguruar zëvendësimi i simboleve jo të printueshme me një pikëpyetje.
- Në xz dhe xzdec në platformën Linux, për izolimin e procesit është implementuar mbështetje për versionet 5 dhe 6 të mekanizmit Landlock.
- është shtuar një skenar për kontrollin e licencave build-aux/license-check.sh.
- Skripcat lzcmp, lzdiff, lzless, lzmore, lzgrep, lzegrep dhe lzfgrep, të implementuar si mbivendosje mbi utilitetin xz, janë shpallur të diskriminuara.
Burimi: opennet.ru
