Megjelent a GNU C Library 2.43: bővülő C23 funkciók és új Linux-specifikus hívások

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

A GNU C Library, közismert nevén glibc, legújabb, 2.43-as verziója péntek este jelent meg, jóval a február 1-re tervezett féléves frissítési határidő előtt. A kiadás rendkívül gazdag újdonságokban, amelyek a modern C nyelvi funkciók, a Linux-specifikus rendszerhívások és a teljesítményoptimalizálások terén egyaránt jelentős előrelépést jelentenek.

A glibc 2.43 kiemelt újdonságai közé tartozik több ISO C23 nyelvi funkció támogatása. Az új kiadás tartalmazza a free_sized, free_aligned_sized, memset_explicit és memalignment függvényeket, valamint módosítja néhány meglévő rutin viselkedését. Ezen túlmenően támogatottá váltak a opcionális időalapok (TIME_MONOTONIC, TIME_ACTIVE, TIME_THREAD_ACTIVE), és más C23 szabvány szerinti újítások is bekerültek, amelyek javítják a memóriakezelést és az időmérést a modern programokban.

Linux-specifikus újdonságként a glibc mostantól támogatja az mseal függvényt, amely lehetővé teszi a memóriatérképek lezárását futásidőben. Ez védelmet nyújt a jogosultságok módosítása, a memória felszabadítása, áthelyezések vagy a méret csökkentése ellen. Szintén új a openat2 funkció, amely az openat kiterjesztéseként több lehetőséget kínál fájlok megnyitásához és kezeléséhez.

A kiadás kísérleti támogatást hoz az LLVM Clang 18+ fordítóval való építéshez x86_64 és AArch64 Linux rendszereken. Matematikai számítások terén a glibc bővítette a CORE-MATH projekt optimalizált függvényeit, például az acosh, asinh, atanh, erf, erfc, lgamma és tgamma rutinokat. Továbbá jelentősen gyorsult a FMA (fma, fmaf) és kapcsolódó függvények végrehajtása, különösen az AMD Zen processzorokon.

Újdonság, hogy AArch64 rendszereken a malloc alapértelmezetten 2 MB-os transzparens hugepage-eket használ, ami javítja a memóriakezelés teljesítményét. A kiadás az Intel Nova Lake és Wildcat Lake processzorok automatikus felismerését is tartalmazza, valamint frissíti a Unicode támogatást 17.0 verzióra, így a nemzetközi karakterek kezelése is korszerűbbé válik.

A glibc 2.43 forráskódja és további részletek elérhetők az info-gnu lemelezőlistán keresztül. Ez a kiadás jelentős lépés a modern Linux-alkalmazások teljesítményének, biztonságának és szabványkompatibilitásának javítása felé, miközben a C23 nyelvi újdonságok bevezetésével a fejlesztők számára is új lehetőségeket kínál.

Meglepő, de igaz: a GNU C Library (glibc) egyik biztonsági hibája közel harminc éven át rejtve maradt, és csak most kapott javítást. A CVE-2026-0915 az 1996-ban bevezetett kódhoz kapcsolódik, és bár a kockázat korlátozott, a felfedezés jól mutatja, milyen mély rétegeiben él tovább a modern Linux rendszereknek az örökölt kód.

Harminc éve észrevétlen információszivárgás

A CVE-2026-0915 GNU C Library-t (glibc) érintő sebezhetőség, egy hete, pénteken került nyilvánosságra. A hiba a getnetbyaddr és getnetbyaddr_r függvényeket érinti, amelyek bizonyos esetekben veremmemória-tartalmat (stack contents) szivárogtathatnak ki a DNS feloldó (resolver) felé. Az oss-security levelezőlistán közzétett összefoglaló szerint a probléma akkor jelentkezik, ha ezek a függvények nulla hálózati értékkel (network value = 0) kerülnek meghívásra. Ez egy ritka használati eset, és a kiszivárgó adatok köre is korlátozott: legfeljebb a verem szomszédos területeiről kerülhetnek ki bájtok.

Korlátozott hatás, de nem elhanyagolható kockázat

A fejlesztők hangsúlyozzák, hogy:

  • a sebezhetőség ritkán kihasználható,
  • az adatvesztés mértéke erősen limitált,
  • ugyanakkor segíthet ASLR (Address Space Layout Randomization) megkerülésében, ami más támadási láncokban már értékes információ lehet.

A meglepő inkább az, hogy ez az állapot 1996 júniusa óta létezett, és egyszerűen azért maradt rejtve, mert a nulla hálózati érték esete soha nem volt tesztelve ebben a kódrészben.

Javítás a glibc DNS alrendszerében

A hiba az NSS DNS backendben található. A nullás hálózati érték esetén a DNS lekérdezés korábban nem inicializált veremadatokból épült fel. A most bekerült javítás hatására:

  • ilyen esetben a glibc alapértelmezett, biztonságos DNS lekérdezést hoz létre,
  • megszűnik a veremmemória véletlenszerű kiszivárgásának lehetősége.

Nem ez volt az egyetlen friss glibc-sebezhetőség

Ugyanezen a héten egy másik hiba is napvilágot látott, CVE-2026-0861 azonosítóval. Ez a probléma a glibc memalign függvényeit érinti: túl nagy igazítási érték (alignment) megadásakor egész túlcsordulás (integer overflow) léphet fel, ami végső soron heap memória-sérüléshez vezethet.

Ez a hiba „csupán” 2019 óta volt jelen, és szintén javításra került a glibc aktuális kiadásában.