A Glibc 2.40 rendszerelem könyvtár kiadása

Hat hónapos fejlesztés után megjelent a GNU C Library (glibc) 2.40 rendszerelem könyvtár kiadása, amely teljes mértékben megfelel az ISO C11 és POSIX.1-2017 szabványok követelményeinek. Az új kiadás 68 fejlesztő javításait tartalmazza.

A Glibc 2.40-ben megvalósított fejlesztések közül kiemelhetjük:

  • A math.h fejlécfájlhoz új exponenciális és logaritmikus függvények kerültek hozzáadásra, amelyeket a C23 szabvány határoz meg: exp2m1, exp10m1, log2p1, log10p1 és logp1. A függvények elérhetők float, double, long double, _FloatN és _FloatNx típusok számára.
  • Hozzáadásra került a _ISOC23_SOURCE makró, amely a C23 szabvány által javasolt lehetőségek használatát határozza meg (jelenleg a Glibc csak a C23 lehetőségeinek egy részét valósítja meg). A C23-at a GCC fordítóban a -std=c23, -std=gnu23, -std=c2x vagy -std=gnu2x opciókkal lehet aktiválni.
  • Hozzáadásra került a „glibc.rtld.enable_secure” beállítás, amely lehetővé teszi a program tesztelésekor a felhasználóazonosító (setuid) választójelként történő futtatást.
  • A Linux platformon az epoll.h fejlécfájl frissítésre került az új ioctl és epoll struktúrák támogatásához, amelyek megjelentek a Linux 6.9 kernelben.
  • A memória kezelésével és a biztonsággal összefüggő hiba észleléséért felelős funkcionalitás („_FORTIFY_SOURCE”) a Glibc Clang fordítóval való összeállításához került alkalmazásra.
  • A vektorszámítási függvények könyvtárában (libmvec) az Aarch64 architektúrához elérhetővé váltak az acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh és tanh függvények implementációi.
  • x86 rendszereken a nagyobb adathalmazok memset függvényébe írásának gyorsítása érdekében lehetőség nyílt a ideiglenes puffer használatának kikapcsolására. Az optimalizálás a „x86_memset_non_temporal_threshold” beállítással aktiválható.
  • A stdbit.h fejlécfájlban a különböző típusokkal (type-generic) dolgozó makrók a GCC 14 használata közben az __builtin_stdc_bit_ceil beépített függvényekre történtek átállításra a __int128 és _BitInt(N) típusú operandusok támogatása érdekében.
  • A lastlog, utmp és utmpx struktúrák időszámláló mezői 32 bites aláírt típusról aláíratlan típusra történtek átállításra, lehetővé téve ezzel a számító idő maximális címezhetőségének kiterjesztését 2038-ról 2106-ra.
  • Sebezhetőségek kiküszöbölve:
    • CVE-2024-2961 — puffer túlcsordulás az ISO-2022-CN-EXT kódolású, speciálisan formázott sztringek iconv() függvény általi konvertálása során. A gyakorlatban ezt a sebezhetőséget távoli támadásra lehet használni PHP-alkalmazások ellen, amely kód futtatásához vezethet.
    • CVE-2024-33599 — puffer túltöltés a netgroup gyorsítótár kezelésére vonatkozó kódban az nscd (Név Szolgáltatás Gyorsítótár Daemon) folyamatban. A sebezhetőség kihasználható, ha a kliens egy speciálisan formázott kérést küld.
    • CVE-2024-33600 — null pointer dereferálás az nscd folyamatban, amely bizonyos kérések feldolgozása során összeomláshoz vezethet.
    • CVE-2024-33601 — a netgroup gyorsítótárral kapcsolatos hiba összeomláshoz vezethet az nscd folyamatban a memóriaallokációs hiba miatt.
    • CVE-2024-33602 — memória sérülés a netgroup gyorsítótárral való munka során az nscd folyamatban.

    Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster