Gyorsabb dekódolás és biztonságosabb működés

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

Az XZ Utils tömörítőeszköz 5.8-as verziója számos teljesítménybeli és biztonsági fejlesztéssel érkezett. A nyílt forráskódú, .xz formátumot kezelő C99-alapú eszközkészlet mostantól még hatékonyabban használható a különböző architektúrákon.

A frissítés a liblzma könyvtár teljesítményét optimalizálja:

  • x86 rendszereken akár 5%-os gyorsulás érhető el GCC-vel fordított rendszereken,
  • míg musl libc-t használó rendszereken ez a javulás akár 15% is lehet, különösen erősen tömörített fájlok esetében.

További fejlesztések:

  • Javult a LZMA/LZMA2 kódolás sebessége 64 bites PowerPC és RISC-V rendszereken.
  • Új alacsony szintű API-k kerültek be a RISC-V, ARM64 és x86 BCJ szűrőkhöz.
  • Gyorsabb CRC32 számítás a LoongArch architektúrán, az új utasításkészlet használatával.

Bevezetésre került az új --no-sync kapcsoló, mellyel kikapcsolható a törlés előtti szinkronizálás, gyorsabbá téve a tömeges fájlműveleteket. Emellett az xz, xzdec és lzmainfo programok mostantól lecserélik a nem nyomtatható karaktereket kérdőjelre, így elkerülhetők a potenciális biztonsági problémák, például terminál-vezérlő karakterek megjelenítése rosszindulatú fájlnevekben.

Az új verzió a bemeneti fájl törlése előtt fsync() szinkronizálással biztosítja az adatok lemezre kerülését – különösen hasznos ez sok kis fájl tömörítésekor, bár teljesítménycsökkenést okozhat.

További változások:

  • Elavultnak minősítették több korábbi LZMA-eszköz aliasát (például: lzcmp, lzdiff, lzless).
  • Újraoptimalizálták az x86/x86-64 CRC-kódokat, javítva a sebességet.
  • Bővült a támogatás a Linux Landlock ABI 5 és 6 rendszereihez.
  • Frissült a CMake támogatás (immár támogatja a 3.20-as verziót).
  • Frissítették több nyelv (pl. horvát, olasz, román, koreai, szerb, ukrán) felhasználói felületét és kézikönyveit.

FONTOS

Nemrég fedezték fel, hogy az XZ Utils könyvtár többszálas dekódoló modulja egy komoly hibát tartalmaz, amely memóriakezelési problémához vezethet. Az érintett verziók: 5.3.3alpha-tól egészen a legújabb 5.8.0-ig. A CVE-2025-31115 azonosítójú sebezhetőség lényege, hogy a liblzma többszálas .xz dekódere túl korán szabadítja fel a memóriát, ha érvénytelen adatot kap bemenetként. Ez legrosszabb esetben összeomláshoz (crash) vezethet, de potenciálisan más típusú sérülékenységeket (pl. memória korrupció) is előidézhet. A hibát Harri K. Koskinen fedezte fel és jelentette, akinek a közösség köszönettel tartozik a felelősségteljes hibabejelentésért. Ezt a hibát a 5.8.1-es verzióban javították

Az XZ Utils 5.8.1 már elérhető letöltésre a hivatalos weboldalon.