De release van de systeembibliotheek Glibc 2.42 en de GNU Binutils 2.45 set van hulpprogramma's.

Na zes maanden ontwikkeling is de release van de GNU C Library 2.42 (glibc) gepubliceerd, die volledig voldoet aan de eisen van de ISO C23 en POSIX.1-2024 standaarden. Bij de ontwikkeling van de nieuwe release waren 70 ontwikkelaars betrokken.

Enkele verbeteringen in Glibc 2.42 zijn:

  • De functie pthread_create ondersteunt nu lichtgewicht beveiligingspagina's voor stackbescherming (stack guard page), waarvan de toegang een uitzondering en een crash van het proces (SIGSEGV) veroorzaakt. De implementatie is gebaseerd op de nieuwe MADV_GUARD_INSTALL vlag in de systeemaanroep madvise, die wordt ondersteund vanaf kernel Linux 6.13. In vergelijking met mapping in PROT_NONE modus, maken beveiligingspagina's een efficiëntere blokkering van code-uitvoering buiten het toegewezen geheugengebied mogelijk, omdat hun creatie geen nieuwe virtuele geheugenruimte vereist.
  • Nieuwe functies voor exponentiatie en wortelberekeningen, zoals compoundn, pown en powr, rootn en rsqrt, zijn toegevoegd en zijn opgenomen in de header file math.h, zoals gedefinieerd in de ISO C23 standaard. Functietypen zijn geïmplementeerd voor float, double, long double, _FloatN en _FloatNx, en ook voor het generieke type uit tgmath.h.
  • In de Linux-omgeving is de functie pthread_gettid_np geïmplementeerd, die net als de functie gettid() een unieke thread-ID retourneert, maar met uitgebreide foutcontrole (bij onbepaalbaar gedrag wordt het proces beëindigd).
  • Functies voor het berekenen van absolute waarden zijn toegevoegd die werken met unsigned types: uabs, ulabs, ullabs en uimaxabs. Deze functies zullen deel uitmaken van de toekomstige C-standaard.
  • Op Linux is in de API termios.h ondersteuning toegevoegd voor willekeurige waarden voor de overdrachtsnelheid. Het type speed_t is opnieuw gedefinieerd en komt nu overeen met het type 'unsigned int', zoals in de Linux-kernel.
  • In de thread-lokale cache (tcache), gebruikt in de malloc functie, is ondersteuning voor caching van grote geheugensegmenten toegevoegd. De maximale blokgrootte kan worden overschreven via de instelling glibc.malloc.tcache_max, die waarden tot 4194304 kan aannemen. De cache-prestaties zijn versneld voor kleine blokken.
  • In het configuratiescript is de optie "--enable-sframe" toegevoegd, die ondersteuning voor het SFrame-formaat inschakelt, gebruikt voor het weergeven van informatie over stacktracering en ondersteund door de functie backtrace. Voor het gebruik van SFrame is minimaal versie binutils 2.45 vereist.
  • Geoptimaliseerde varianten van de wiskundige functies acospif, asinpif, atanpif, atan2pif, cospif, sinpif en tanpif zijn overgedragen vanuit het CORE-MATH-project.
  • De testset is aanzienlijk uitgebreid en dekt nu de werking van verschillende varianten van de printf- en scanf-functiefamilies.
  • Code is toegevoegd om Intel-processoren op basis van de microarchitecturen Arrow Lake, Panther Lake, Clearwater Forest en Diamond Rapids te identificeren.
  • Ondersteuning voor het z17-platform (de nieuwe generatie IBM Z/S390 mainframes) is toegevoegd.
  • Ondersteuning voor de compatibiliteitsmodus is toegevoegd aan de instelling glibc.rtld.execstack om programma's te ondersteunen die een uitvoerbare stack vereisen via dynamisch geladen bibliotheken.
  • De header file termio.h en de definitie van de termio-structuur zijn verwijderd uit sys/ioctl.h. De programmeerinterface termio.h is al verouderd verklaard in POSIX.1 (1988) en vervangen door termios.h.
  • Voor de bouw van Glibc zijn nu minimaal de releases GCC 12.1 en GNU Binutils 2.39 vereist.
  • Kwetsbaarheden opgelost:
    • CVE-2025-0395 – buffer overflow bij het uitvoeren van de functie assert(). De overflow gebeurt bij het opgeven van een te lange programmanaam (argv[0]). Dit probleem wordt als niet gevaarlijk beschouwd, omdat er 4 bytes buiten de buffer worden geschreven, waarvan de inhoud niet kan worden beheerd door de aanvaller. Opmerkelijk is het feit dat er kwetsbaarheid in de debugfuncties is ontstaan door een fout bij het weergeven van de naam van de huidige applicatie.
    • CVE-2025-5702, CVE-2025-5745 – kwetsbaarheden in de implementatie van de functies strcmp en strncmp voor Power10-processoren, die leiden tot een crash bij het opslaan en herstellen van de vectorregistars v20-v31, die bewaard moeten blijven tussen functieaanroepen. De kwetsbaarheid kan worden gebruikt om de inhoud van de gegevens van de registers te overschrijven of te bepalen, die door de functie worden gebruikt.
    • CVE-2025-8058 – kwetsbaarheid in de functie regcomp, die leidt tot dubbele vrijgave van geheugen (double-free).

Daarnaast kan de release van de GNU Binutils 2.45-system utility set worden opgemerkt, die programma's bevat zoals GNU linker, GNU assembler, nm, objdump, strings, strip.

In de nieuwe versie van Binutils:

  • In de GNU assembler:
    • Ondersteuning voor de nieuwste extensies voor de RISC-V, LoongArch en AArch64 architecturen is toegevoegd. Voor x86 is ondersteuning toegevoegd voor de XMODX-instructies, geïmplementeerd in de Zhaoxin PadLock-processors. Voor RISC-V zijn instructies ssqosid v1.0, ssnpm v1.0, smnpm v1.0, smmpm v1.0, sspm v1.0, supm v1.0, sha v1.0, zce v1.0, smcdeleg v1.0, ssccfg v1.0, svvptc v1.0, zilsd v1.0, zclsd v1.0, smrnmi v1.0, xtheadvdot v1.0, xmipscbop v1.0, xmipscmov v1.0, xmipsexectl v1.0 en xmipslsp v1.0 toegevoegd.
    • Compatibiliteit voor het genereren van gegevens in SFrame-formaat volgens de SFrame V2 specificatie is verzekerd. Ondersteuning voor het genereren van stack trace-informatie (.sframe) vanuit CFI-directieven op 64-bits s390 systemen (s390x) is toegevoegd.
    • Ondersteuning voor de .errif en .warnif directieven voor het genereren van diagnostische berichten bij het optreden van bepaalde voorwaarden is toegevoegd.
  • In de linker is ondersteuning voor een optioneel argument in de optie ‘—stats’ geïmplementeerd, waarmee een bestandsnaam kan worden opgegeven voor het opslaan van informatie over resourceverbruik tijdens verschillende fasen van de koppeling. De bestandsnaam kan ook worden opgegeven via de omgevingsvariabele LD_STATS. Voor RISC-V is ondersteuning voor nieuwe PLT-formaten (Procedure Linkage Table) aan de linker toegevoegd.
  • Diverse verbeteringen met betrekking tot de ondersteuning van het SFrame-formaat zijn aangebracht. Functies voor het werken met SFrame zijn verplaatst naar de versiversie-bibliotheek libsframe.so.2.
  • De disassembler en de readelf-tool hebben uitgebreide ondersteuning voor de RISC-V architectuur gekregen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster