Na zes maanden ontwikkeling is de release van de GNU C Library (glibc) 2.40 gepubliceerd, die volledig voldoet aan de eisen van de ISO C11- en POSIX.1-2017-normen. De nieuwe release bevat correcties van 68 ontwikkelaars.
Enkele van de verbeteringen in Glibc 2.40 zijn:
- In het headerbestand math.h zijn nieuwe exponentiƫle en logaritmische functies toegevoegd, die zijn gedefinieerd in de C23-norm: exp2m1, exp10m1, log2p1, log10p1 en logp1. De functies zijn beschikbaar in varianten voor de types float, double, long double, _FloatN en _FloatNx.
- De macro _ISOC23_SOURCE is toegevoegd, die het gebruik van de mogelijkheden die in de C23-norm zijn voorgesteld, definieert (op dit moment zijn slechts een deel van de C23-faciliteiten geĆÆmplementeerd in Glibc). Het gebruik van C23 kan ook worden ingeschakeld tijdens het compileren door het opgeven van de GCC-opties -std=c23, -std=gnu23, -std=c2x of -std=gnu2x.
- De instelling "glibc.rtld.enable_secure" is toegevoegd, waarmee je tijdens het testen een programma kunt uitvoeren alsof het de setuid-vlag heeft.
- In de Linux-omgeving is het headerbestand epoll.h bijgewerkt ter ondersteuning van nieuwe ioctl en structuren van epoll die in de Linux-kernel 6.9 zijn verschenen.
- De functionaliteit voor het opsporen van mogelijke buffer-overflows en gerelateerde beveiligingsfouten tijdens het uitvoeren van functies voor het werken met strings en geheugenbeheer ("_FORTIFY_SOURCE") is aangepast voor de Glibc-bouw met de Clang-compiler.
- In de bibliotheek met vector wiskundige functies (libmvec) zijn implementaties van de functies acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh en tanh aangeboden voor de architectuur Aarch64.
- Op x86-systemen is de mogelijkheid toegevoegd om het gebruik van tijdelijke buffers in de memset-functie uit te schakelen voor het versnellen van het schrijven van grote datasets. De optimalisatie wordt geactiveerd met de instelling "x86_memset_non_temporal_threshold."
- Macro's in het headerbestand stdbit.h, die werken met verschillende types (type-generic), zijn bij gebruik van GCC 14 overgezet naar het gebruik van ingebouwde functies __builtin_stdc_bit_ceil voor ondersteuning van operandtypes __int128 en _BitInt(N).
- De velden met epoch-telwaarden in de structuren lastlog, utmp en utmpx zijn overgezet van het gebruik van een 32-bits gestructureerd type naar een ongetekend type, waardoor de maximale adresbare tijd door de teller is verlengd van 2038 tot 2106.
- Kwetsbaarheden opgelost:
- CVE-2024-2961 ā buffer overflow when converting specially formatted strings in ISO-2022-CN-EXT encoding using the iconv() function. In practice, this vulnerability can be exploited for a remote attack on PHP applications, leading to code execution.
- CVE-2024-33599 ā buffer overflow in the code for handling the netgroup cache in the nscd (Name Service Cache Daemon) process. The vulnerability can be exploited by sending a specially formatted request from the client.
- CVE-2024-33600 ā null pointer dereference in the nscd process, which can lead to a crash when processing certain requests.
- CVE-2024-33601 ā issues in handling the netgroup cache may cause the nscd process to crash due to memory allocation failures.
- CVE-2024-33602 ā memory corruption while working with the netgroup cache in the nscd process.
Bron: opennet.ru
