Pas pas gjashtë muajsh zhvillimi, u publikua versione e bibliotekës sistematike GNU C Library (glibc) 2.40, e cila i përmbush plotësisht kërkesat e standardeve ISO C11 dhe POSIX.1-2017. Në këtë botim të ri janë përfshirë rregullime nga 68 zhvillues.
Disa nga përmirësimet në Glibc 2.40 përfshijnë:
- Në skedarin përfshirës math.h janë shtuar funksione eksponenciale dhe logaritmike të reja, të përcaktuara në standardin C23: exp2m1, exp10m1, log2p1, log10p1 dhe logp1. Funksionet janë të disponueshme në variante për tipet float, double, long double, _FloatN dhe _FloatNx.
- Shtuar makrosi _ISOC23_SOURCE, që përcakton përdorimin e mundësive të propozuara në standardin C23 (aktualisht në Glibc janë realizuar vetëm disa mundësi të C23). Përdorimi i C23 gjithashtu mund të aktivizohet gjatë kompilim të GCC duke shënjestruar me opsionet -std=c23, -std=gnu23, -std=c2x ose -std=gnu2x.
- Shtesa e konfigurimit «glibc.rtld.enable_secure», e cila lejon që gjatë testimit të ekzekutohet programi siç do të kishte një flamur të ndryshimit të identitetit të përdoruesit (setuid).
- Në platformën Linux, skedari epoll.h është përditësuar për të mbështetur ioctl të reja dhe struktura epoll, që kanë dalë në bërthamën Linux 6.9.
- Funksionaliteti për identifikimin e mundësive të mbushjes së buferit dhe gabimeve të lidhura me sigurinë gjatë ekzekutimit të funksioneve për punën me stringje dhe menaxhimin e memories («_FORTIFY_SOURCE») është adapatuar për ndërtimin e Glibc me ndihmën e kompilatorit Clang.
- Në bibliotekën e funksioneve mathematikore me vektor (libmvec) janë propozuar implementime të funksioneve acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh dhe tanh për arkitekturën Aarch64.
- Në sistemet x86 për të përshpejtuar shkrimin e grupeve të mëdha të të dhënave në funksionin memset, ofrohet mundësia për të çaktivizuar përdorimin e buferave përkohësorë. Optimizimi aktivizohet me konfigurimin «x86_memset_non_temporal_threshold».
- Makros në skedarin përfshirës stdbit.h, që punojnë me tipe të ndryshme (type-generic), me përdorimin e GCC 14 janë kthyer në përdorim të funksioneve të ndërtuara __builtin_stdc_bit_ceil për mbështetje të operandëve me tipe __int128 dhe _BitInt(N).
- Fushat me numruesin e epokës në struktura lastlog, utmp dhe utmpx janë kthyer nga përdorimi i tipit 32-bit të nënshkruar në tipin e pa nënshkruar, çka lejon për një zgjerim të maximumit për adresimin e numrave deri në vitin 2106.
- Identifikuar dobësi:
- CVE-2024-2961 â mbushje buferi gjatĂ« konvertimit tĂ« stringjeve tĂ« ndĂ«rlikuara nĂ« kodimin ISO-2022-CN-EXT nga funksioni iconv(). NĂ« praktikĂ«, vulnerabiliteti mund tĂ« pĂ«rdoret pĂ«r njĂ« sulm tĂ« largĂ«t nĂ« aplikacionet PHP, duke çuar nĂ« ekzekutimin e kodit.
- CVE-2024-33599 â mbushje buferi nĂ« kodin pĂ«r punĂ«n me cache netgroup gjatĂ« procesit nscd (Name Service Cache Daemon). Vulnerabiliteti mund tĂ« shfrytĂ«zohet pĂ«rmes dĂ«rgimit tĂ« njĂ« kĂ«rkese tĂ« ndĂ«rlikuar nga klienti.
- CVE-2024-33600 â dereferencim i treguesit zero gjatĂ« procesit nscd, i cili mund tĂ« çojĂ« nĂ« njĂ« ndĂ«rprerje kur pĂ«rpunohen kĂ«rkesa tĂ« caktuara.
- CVE-2024-33601 â njĂ« gabim gjatĂ« punĂ«s me cache netgroup mund tĂ« shkaktojĂ« ndĂ«rprerjen e procesit nscd pĂ«r shkak tĂ« njĂ« dĂ«shtimi nĂ« alokimin e memories.
- CVE-2024-33602 â dĂ«mtimi i memories gjatĂ« punĂ«s me cache netgroup nĂ« procesin nscd.
Burimi: opennet.ru
