Efter sex mÄnaders utveckling har lanseringen av det systembibliotek som ingÄr i GNU C Library (glibc) 2.40 offentliggjorts, vilket helt följer kraven i standarderna ISO C11 och POSIX.1-2017. Den nya utgÄvan innehÄller korrigeringar frÄn 68 utvecklare.
Bland förbÀttringarna i Glibc 2.40 kan nÀmnas:
- Nya exponentiella och logaritmiska funktioner har lagts till i headerfilen math.h, definierade i standarden C23: exp2m1, exp10m1, log2p1, log10p1 och logp1. Funktionerna finns tillgÀngliga i varianter för typerna float, double, long double, _FloatN och _FloatNx.
- Makarosen _ISOC23_SOURCE har lagts till för att definiera anvÀndningen av funktioner som erbjuds i standarden C23 (för nÀrvarande Àr endast en del av funktionerna frÄn C23 implementerade i Glibc). AnvÀndning av C23 kan ocksÄ aktiveras vid kompilering genom att ange alternativen -std=c23, -std=gnu23, -std=c2x eller -std=gnu2x i GCC.
- InstÀllningen "glibc.rtld.enable_secure" har lagts till, vilket möjliggör att programmet körs som om det hade flaggan för att byta anvÀndaridentifiering (setuid) under testning.
- Headerfilen epoll.h har uppdaterats pÄ Linux-plattformen för att stödja nya ioctl och strukturer för epoll som har införts i Linux-kÀrnan 6.9.
- Funktionaliteten för att identifiera potentiella buffertöverskridningar och relaterade sĂ€kerhetsfel under körning av strĂ€nghanterings- och minneshanteringsfunktioner (â_FORTIFY_SOURCEâ) har anpassats för att bygga Glibc med kompilatorn Clang.
- I biblioteket med vektoriserade matematiska funktioner (libmvec) föreslÄs implementationer av funktionerna acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh och tanh för arkitekturen Aarch64.
- PÄ x86-system har funktionen memset fÄtt möjlighet att stÀnga av anvÀndningen av temporÀra buffertar för att snabba upp skrivningen av stora datamÀngder. Optimeringen aktiveras genom instÀllningen "x86_memset_non_temporal_threshold".
- Makros i headerfilen stdbit.h, som arbetar med olika typer (typ-generic), har i GCC 14 översatts för att anvÀnda de inbyggda funktionerna __builtin_stdc_bit_ceil för att stödja operander av typerna __int128 och _BitInt(N).
- FÀlten med epokrÀknare i strukterna lastlog, utmp och utmpx har översatts frÄn att anvÀnda en 32-bitars signerad typ till en icke-signerad typ, vilket gör det möjligt att förlÀnga den maximala adresserbara tiden av rÀknaren frÄn 2038 till 2106.
- SÄrbarheter ÄtgÀrdade:
- CVE-2024-2961 â buffertilldelning vid konvertering av speciellt formaterade strĂ€ngar i ISO-2022-CN-EXT-kodning med funktionen iconv(). I praktiken kan sĂ„rbarheten anvĂ€ndas för en fjĂ€rrattack mot PHP-applikationer som leder till kodkörning.
- CVE-2024-33599 â buffertilldelning i koden för att arbeta med cache för netgroup i nscd-processen (Name Service Cache Daemon). SĂ„rbarheten kan utnyttjas genom att en klient skickar en sĂ€rskilt formaterad begĂ€ran.
- CVE-2024-33600 â dereferering av en nullpekare i nscd-processen, vilket kan leda till en kraschat process vid behandling av vissa begĂ€rningar.
- CVE-2024-33601 â ett fel vid hantering av cache för netgroup kan leda till att nscd-processen kraschar pĂ„ grund av minnesallokeringsfel.
- CVE-2024-33602 â minneskorruption vid arbete med cache för netgroup i nscd-processen.
KĂ€lla: opennet.ru
