Lansarea bibliotecii de sistem Glibc 2.40

După șase luni de dezvoltare, a fost lansată versiunea 2.40 a bibliotecii sistemului GNU C Library (glibc), care respectă pe deplin standardele ISO C11 și POSIX.1-2017. Noua versiune include corecții de la 68 de dezvoltatori.

Printre îmbunătățirile implementate în Glibc 2.40, se numără:

  • Fișierul de antet math.h a fost actualizat cu noi funcții exponențiale și logaritmice definite în standardul C23: exp2m1, exp10m1, log2p1, log10p1 și logp1. Funcțiile sunt disponibile în variante pentru tipurile float, double, long double, _FloatN și _FloatNx.
  • A fost adăugat macro-ul _ISOC23_SOURCE, care definește utilizarea funcționalităților propuse în standardul C23 (în prezent, în Glibc sunt implementate doar o parte din aceste funcționalități). Utilizarea C23 poate fi, de asemenea, activată la compilare prin specificarea opțiunilor -std=c23, -std=gnu23, -std=c2x sau -std=gnu2x în GCC.
  • A fost adăugată opțiunea „glibc.rtld.enable_secure”, care permite, în timpul testării, rularea programului ca și cum ar avea activat flag-ul de schimbare a identificatorului utilizatorului (setuid).
  • Pe platforma Linux, fișierul de antet epoll.h a fost actualizat pentru a susține noi ioctl și structuri epoll introduse în nucleul Linux 6.9.
  • Funcționalitatea pentru detectarea posibilelor depășiri de buffer și a erorilor de securitate în timpul funcțiilor de manipulare a șirurilor și gestionare a memoriei („_FORTIFY_SOURCE”) a fost adaptată pentru a fi compilată cu ajutorul compilatorului Clang.
  • În biblioteca pentru funcții matematice vectoriale (libmvec) au fost propuse implementări ale funcțiilor acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh și tanh pentru arhitectura Aarch64.
  • Pe sistemele x86, pentru accelerarea scrierii seturilor mari de date în funcția memset, s-a oferit posibilitatea de a dezactiva utilizarea buffer-elor temporare. Optimizarea este activată prin setarea „x86_memset_non_temporal_threshold”.
  • Macro-urile din fișierul de antet stdbit.h, care funcționează cu diferite tipuri (type-generic), au fost adaptate la utilizarea funcțiilor încorporate __builtin_stdc_bit_ceil pentru a sprijini operanzi de tipurile __int128 și _BitInt(N) cu GCC 14.
  • Câmpurile cu contorul temporal în structurile lastlog, utmp și utmpx au fost convertite dintr-un tip semnat de 32 de biți într-un tip nesemnat, ceea ce permite extinderea timpului maxim adresabil de către contor din 2038 până în 2106.
  • S-au remediat vulnerabilitățile:
    • CVE-2024-2961 — overflow de buffer la transformarea șirurilor de caractere special formatate în codificarea ISO-2022-CN-EXT prin funcția iconv(). În practică, vulnerabilitatea poate fi utilizată pentru a ataca de la distanță aplicațiile PHP, ducând la executarea de cod.
    • CVE-2024-33599 — overflow de buffer în codul pentru gestionarea cache-ului netgroup în procesul nscd (Name Service Cache Daemon). Vulnerabilitatea poate fi exploatată prin trimiterea unui request special formatat de către client.
    • CVE-2024-33600 — dereferencearea unui pointer nul în procesul nscd, ceea ce poate duce la o criză de sistem la procesarea anumitor cereri.
    • CVE-2024-33601 — o eroare în gestionarea cache-ului netgroup poate duce la o criză de sistem a procesului nscd din cauza unei defectiuni în alocarea memoriei.
    • CVE-2024-33602 — coruperea memoriei în timpul gestionării cache-ului netgroup în procesul nscd.

    Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster