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 pénteken került nyilvánosságra, mint a GNU C Library-t (glibc) érintő sebezhetőség. 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.
A javítás már elérhető a glibc.git tárolóban, egy friss commit formájában.
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 fejlesztői ágában.
Mikor érkeznek a javítások a disztribúciókba?
A következő hivatalos GNU C Library kiadás, a glibc 2.43, várhatóan 2026 február elején jelenik meg. A nagyobb disztribúciók – különösen a rolling release rendszerek – ezt követően viszonylag gyorsan átvehetik a javításokat, míg az LTS kiadások backportolt frissítésekre támaszkodnak majd.
Ez az eset ismét emlékeztet arra, hogy még a legalapvetőbb, évtizedek óta használt rendszerszintű könyvtárakban is rejtőzhetnek meglepő hibák – és arra is, hogy a folyamatos auditálásnak és karbantartásnak továbbra sincs alternatívája. Az újdonságok megtalálhatóak a kiadási megjegyzésben.
Szómagyarázat
- GNU C Library (glibc): A GNU projekt szabványos C programkönyvtára, amely a Linux rendszerek egyik legfontosabb alapkomponense. Gyakorlatilag minden felhasználói program – közvetlenül vagy közvetve – ezt használja alapvető műveletekhez (memóriakezelés, fájlműveletek, hálózat, DNS, stb.).
- CVE (Common Vulnerabilities and Exposures): Nemzetközi azonosítórendszer a nyilvánosan dokumentált biztonsági sérülékenységekhez. Egy CVE-azonosító (például CVE-2026-0915) egy konkrét hibára mutat, amelyről részletes leírás és javítás érhető el.
- getnetbyaddr / getnetbyaddr_r: A glibc régi, POSIX-kompatibilis hálózati függvényei, amelyek egy hálózati címhez tartozó információkat kérnek le. A _r végződésű változat újrabelépésbiztos (reentrant), vagyis több szálból is biztonságosan hívható.
- Verem (stack): A program futása közben használt memória egyik területe, ahol a függvényhívásokhoz kapcsolódó ideiglenes adatok, változók és visszatérési címek találhatók. Tartalma normál esetben nem kerülhet ki a program hatóköréből.
- Veremmemória-szivárgás (stack memory leak): Olyan programhiba, amikor a verem egyes, nem inicializált vagy védett részei külső fél számára is hozzáférhetővé válnak. Ez érzékeny információk kiszivárgásához vezethet.
- DNS feloldó (resolver): Az a szoftverkomponens, amely a domainneveket (például example.com) IP-címekké alakítja. A glibc saját DNS feloldó alrendszert tartalmaz, amely az NSS-en keresztül működik.
- NSS (Name Service Switch): A glibc egyik alrendszere, amely eldönti, hogy a rendszer különféle névfeloldási és azonosítási feladatokat (DNS, /etc/hosts, LDAP stb.) milyen forrásból végezzen el.
- Nem inicializált memória: Olyan memóriaterület, amelynek tartalma nincs előre meghatározva. Ha egy program ezt az adatot felhasználja vagy továbbítja, az véletlenszerű, korábbi adatok kiszivárgásához vezethet.
- ASLR (Address Space Layout Randomization): Biztonsági technika, amely véletlenszerűsíti a program memóriacím-térképét, megnehezítve a támadók dolgát. Még kis mennyiségű memóriaszivárgás is segíthet ennek részleges megkerülésében.
- Oss-security levelezőlista: Nyílt forrású projektek biztonsági hibáinak nyilvános bejelentésére szolgáló szakmai levelezőlista, ahol a fejlesztők és disztribúciók karbantartói egyeztetnek.
- DNS backend: Az NSS azon része, amely kifejezetten a DNS-alapú névfeloldásért felel. A hiba ebben a komponensben található.
- Commit: Egy verziókezelő rendszerben (például Git) rögzített változtatáscsomag, amely pontosan dokumentálja, milyen módosítás történt a forráskódban.
- memalign: Olyan memóriafoglaló függvény, amely a lefoglalt memória címét adott igazításhoz (alignment) igazítja. Speciális, alacsony szintű használatra szolgál.
- Igazítás (alignment): A memória címének illesztése bizonyos byte-határokhoz (például 16 vagy 64 byte), ami teljesítmény- vagy hardverkövetelmény lehet.
- Egész túlcsordulás (integer overflow): Olyan hiba, amikor egy egész szám nagyobb értéket kap, mint amit a típusa tárolni képes, és „átfordul”. Ez gyakran vezet biztonsági problémákhoz.
- Heap memória: Dinamikusan lefoglalt memória-terület, amelyet a program futás közben kezel. Sérülése súlyos stabilitási vagy biztonsági hibákat okozhat.
- Rolling release disztribúció: Olyan Linux disztribúció, amely folyamatosan frissül (például Arch Linux), nem nagy, ritka verzióugrásokkal.
- LTS (Long Term Support): Hosszú távon támogatott kiadás, amely elsősorban stabilitásra törekszik, és a javításokat gyakran visszaportolják a régebbi kódbázisba.
- Backportolás: Egy újabb verzióban elkészült javítás átemelése egy régebbi, még támogatott szoftververzióba.

