Ka dalë versioni i paketës XZ Utils 5.8.1, që përfshin bibliotekën liblzma dhe utilitetet për punën me të dhënat e kompresuara në formatin «.xz». XZ Utils 5.8.1 u bë versioni i parë i rëndësishëm pas incidentit të zbulimit të backdoor-it, që organizonte hyrjen përmes sshd. Javën e kaluar në Git u krijua një etiketë 5.8.0, por publikimi nuk u shpall zyrtarisht për shkak të problemeve të performancës dhe përputhshmërisë me versionet e vjetra të GNU make, të zbuluara pas publikimit të etiketës.
Në përditësimin e XZ Utils 5.8.1 u korrigjua një vulnerabilitet (CVE-2025-31115), që çon në përfundimin e papritur të programit gjatë përpjekjes për të shpërthyer arshivët e dizajnuara posaçërisht. Vulnerabiliteti shkaktohet nga qasja në një hapësirë kujtese të lëshuar tashmë (use after free). Një sulmues mund të arrijë të shkruajë vlerën e tij në një adresë, e cila llogaritet si «pointer i null + offset». Problemi shqyrtohet si një gabim të paqëllimshëm, pasi ndryshimi që e shkaktoi atë u bë në kod shumë para se zhvilluesi Jia Tan të bashkohej me projektin, aktiviteti i të cilit çoi në futjen e backdoor-it.
Problemi shfaqet qĂ« nga shpĂ«rthimi i XZ Utils 5.3.3alpha gjatĂ« dekodimit nĂ« modin shumĂ«-nyjĂ«z (ndĂ«rsa dekoduesi njĂ«nyjĂ«z nuk preket). PĂ«rveç utiliteteve standarde nga paketa xz, vulnerabiliteti shfaqet edhe nĂ« programe tĂ« tjera tĂ« jashtme qĂ« pĂ«rdorin funksionin lzma_stream_decoder_mt nga biblioteka liblzma. Vulnerabiliteti Ă«shtĂ« korrigjuar nĂ« versionin XZ Utils 5.8.1 dhe Ă«shtĂ« transferuar nĂ« degĂ«t stabile 5.4 dhe 5.6. TĂ« dhĂ«nat pĂ«r disponimin e pĂ«rditĂ«simeve nĂ« distribucione janĂ« tĂ« mundshme nĂ« kĂ«to faqe: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Si njĂ« zgjidhje shpĂ«timi, mund tĂ« çaktivizoni dekodimin e skedarĂ«ve nĂ« modin shumĂ«-nyjĂ«z, duke pĂ«rdorur opsionet «âdecompress âthreads=1» gjatĂ« nisjes sĂ« xz ose duke aplikuar utilitetin xzdec.
Nga ndryshimet funksionale në degën XZ Utils 5.8 mund të veçohen:
- Në dekoduesin LZMA/LZMA2 është shtuar mundësia e përdorimit të instruksioneve SSE2 në vend të funksionit memcpy() në sistemet x86 32-bit dhe 64-bit. Ky ndryshim ka mundësuar uljen e kohës së dekodimit deri në 5% kur ndërtohet me Glibc, dhe deri në 15% kur ndërtohet me musl gjatë dekompresimit të skedarëve me nivel 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 API i nivelit të ulët i filtrave BCJ (Branch/Call/Jump) për sistemet RISC-V, ARM64 dhe x86.
- ĂshtĂ« rishkruar kodi pĂ«r llogaritjen e CLMUL CRC pĂ«r sistemet x86, x86-64 dhe E2K.
- Në platformat me procesorë LoongArch janë aktivizuar udhëzime për përshpejtimin e llogaritjes së shumave kontrolluese CRC32.
- NĂ« utilitetin «xz» Ă«shtĂ« garantuar thirrja e funksionit fsync() pĂ«r tĂ« rregulluar cache-t e skedarĂ«ve pĂ«r skedarin pĂ«rfundimtar pĂ«rpara se tĂ« fshihet skedari origjinĂ«. PĂ«r tĂ« çaktivizuar sinkronizimin para fshirjes Ă«shtĂ« realizuar opsioni «âno-sync».
- Në mjetet xz, xzdec dhe lzmainfo, gjatë shfaqjes së informacionit në ekran, karakteret e paprintueshme zëvendësohen me një pikëpyetje.
- Në xz dhe xzdec, në platformën Linux, është shtuar mbështetja për versionet 5 dhe 6 të mekanizmit Landlock për izolimin e procesit.
- ĂshtĂ« shtuar skripti build-aux/license-check.sh pĂ«r kontrollin e licencave.
- Skriptet lzcmp, lzdiff, lzless, lzmore, lzgrep, lzegrep dhe lzfgrep, të implementuara si shtresa shtesë mbi mjetin xz, janë shpallur të vjetruara.
Burimi: opennet.ru
