Lansarea bibliotecii de sistem Glibc 2.40

După șase luni de dezvoltare, a fost lansată biblioteca de sistem GNU C Library (glibc) 2.40, care respectă pe deplin cerințele standardelor ISO C11 și POSIX.1-2017. Noua versiune include remedieri de la 68 de dezvoltatori.

Unele dintre îmbunătățirile implementate în Glibc 2.40 includ:

  • Noi funcții exponențiale și logaritmice definite în standardul C23 au fost adăugate la fișierul antet math.h: exp2m1, exp10m1.log2p1, log10p1 și logp1. Funcțiile sunt disponibile în variantele float, double, long double, _FloatN și _FloatNx.
  • S-a adăugat macro-ul _ISOC23_SOURCE, care definește utilizarea capabilităților propuse în standardul C23 (în prezent doar o parte din capabilitățile C23 sunt implementate în Glibc). Utilizarea C23 poate fi activată și în timpul compilării prin specificarea opțiunilor -std=c23, -std=gnu23, -std=c2x sau -std=gnu2x în GCC.
  • S-a adăugat setarea „glibc.rtld.enable_secure”, care permite, la testare, să ruleze programul ca și cum ar avea un flag pentru schimbarea identificatorului utilizatorului (setuid).
  • Pe platformă Linux Fișierul antet epoll.h a fost actualizat pentru a suporta noile structuri ioctl și epoll introduse în kernel. Linux 6.9.
  • Funcționalitatea pentru detectarea posibilelor depășiri de buffer și a erorilor legate de siguranță în timpul execuției funcțiilor de gestionare a șirurilor și a memoriei ("_FORTIFY_SOURCE") este adaptată pentru construirea Glibc folosind compilatorul Clang.
  • Biblioteca de matematică vectorială (libmvec) oferă implementări ale acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh și tanh pentru arhitectura Aarch64.
  • Pe sistemele x86, pentru a accelera scrierea de seturi mari de date, funcția memset oferă posibilitatea de a dezactiva utilizarea bufferelor temporare. Optimizarea este activată utilizând setarea „x86_memset_non_temporal_threshold”.
  • Macro-urile din fișierul antet stdbit.h care funcționează cu diferite tipuri (generice de tip) când se utilizează GCC 14 au fost schimbate pentru a utiliza funcțiile încorporate __builtin_stdc_bit_ceil pentru a suporta operanzi cu tipurile __int128 și _BitInt(N).
  • Câmpurile contorului de timp epocal din structurile lastlog, utmp și utmpx au fost convertite de la utilizarea unui tip semnat pe 32 de biți la un tip nesemnat, ceea ce permite ca timpul maxim adresabil al contorului să fie extins de la 2038 la 2106.
  • Vulnerabilități remediate:
    • CVE-2024-2961 - Buffer overflow la conversia șirurilor ISO-2022-CN-EXT formatate special folosind funcția iconv(). În practică, vulnerabilitatea poate fi folosită pentru un atac de la distanță asupra aplicațiilor PHP, ceea ce duce la executarea codului.
    • CVE-2024-33599 - Buffer overflow în codul cache al grupului de net în procesul nscd (Name Service Cache Daemon). Vulnerabilitatea poate fi exploatată de către client care trimite o cerere special concepută.
    • CVE-2024-33600 O dereferință de pointer NULL în procesul nscd poate duce la o blocare la procesarea anumitor solicitări.
    • CVE-2024-33601 O eroare în memoria cache a grupului de rețea poate cauza blocarea procesului nscd din cauza unei erori de alocare a memoriei.
    • CVE-2024-33602 Coruperea memoriei apare atunci când lucrați cu cache-ul netgroup în procesul nscd.

    Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster