Glibc 2.34 komt met fixes voor kwetsbaarheden, nieuwe functies voor Linux en meer

onlangs de release van de nieuwe versie van Glibc 2.34 is aangekondigd die komt na zes maanden van ontwikkeling en waarin een aantal behoorlijk belangrijke wijzigingen zijn aangebracht, waaronder de opname van de libpthread-, libdl-, libutil- en libanl-bibliotheken, evenals verschillende bugfixes waarvan een ervan blokkades veroorzaakte.

Voor degenen die niet bekend zijn met Glibc, ze moeten weten wat het is een GNU C-bibliotheek, algemeen bekend als glibc is de standaard GNU C runtime-bibliotheek. Op systemen waar het wordt gebruikt, is deze C-bibliotheek die: systeemaanroepen en andere basisfuncties biedt en definieert, wordt het door bijna alle programma's gebruikt. 

Belangrijkste nieuwe functies van Glibc 2.34

In deze nieuwe versie van Glibc 2.34 die wordt gepresenteerd libpthread, libdl, libutil en libanl zijn geïntegreerd in de hoofdbibliotheek, het gebruik van de functionaliteit in toepassingen vereist niet langer binding met de vlaggen -lpthread, -ldl, -lutil en -lanl.

Verder wordt dat vermeld voorbereidingen zijn getroffen om libreolv in libc te integreren, waarmee de integratie zorgt voor een soepeler glibc-updateproces en het zal de runtime-implementatie vereenvoudigen en er zijn ook stub-bibliotheken voorzien voor compatibiliteit met applicaties die zijn gebouwd met eerdere versies van glibc.

Van de kant van de veranderingen gericht op Linux Glibc 2.34 benadrukt de mogelijkheid toegevoegd om 64 bit time_t type te gebruiken in configuraties dat traditioneel het type time_t gebruikte 32-bits. Deze functie is alleen beschikbaar op systemen met kernel 5.1 en hoger.

Een andere specifieke wijziging voor Linux is de implementatie van de execveat-functieDat maakt het mogelijk om een ​​uitvoerbaar bestand uit te voeren vanuit een open bestandsdescriptor. De nieuwe functie wordt ook gebruikt bij de implementatie van de fexecve-aanroep, waarvoor het pseudo-bestandssysteem / proc niet hoeft te worden gemount bij het opstarten.

De functie is ook toegevoegd close_range () die beschikbaar is voor Linux-versies 5.9 en hoger en die kan worden gebruikt om een ​​proces een volledige reeks bestandsdescriptors te laten sluiten tegelijkertijd geopend is, is bovendien de parameter glibc.pthread.stack_cache_size geïmplementeerd, die kan worden gebruikt om de grootte van de pthread-stackcache aan te passen.

Daarnaast is toegevoegde _Fork-functie, een vervanging voor functie vork die voldoet aan de vereisten van "async-signal-safe", dat wil zeggen, het kan veilig worden aangeroepen door signaalbehandelaars. Tijdens _Fork-uitvoering wordt een minimale omgeving gevormd, genoeg om functies in signaalhandlers zoals raise en execve aan te roepen, zonder functies aan te roepen die vergrendelingen of interne status kunnen veranderen.

Voor het deel van de kwetsbaarheden dat in Glibc 2.34 is opgelost, wordt het volgende genoemd:

CVE-2021-27645: Het nscd-proces (naamservercaching-daemon) is mislukt vanwege een dubbele aanroep van de gratis functie tijdens het verwerken van speciaal vervaardigde netwerkgroepverzoeken.

CVE-2021-33574: toegang tot een geheugengebied dat al is vrijgemaakt (use-after-free) in de mq_notify-functie bij gebruik van het SIGEV_THREAD-meldingstype met een thread-attribuut waarvoor een alternatief CPU-bindingsmasker is ingesteld. Het probleem kan een crash veroorzaken, maar andere aanvalsopties zijn niet uitgesloten.

CVE-2021-35942: Overloop van parametergrootte in de wordexp-functie kan de toepassing laten crashen.

Van de andere veranderingen die opvallen:

  • De functie timespec_getres, gedefinieerd in de concept ISO C2X-standaard, is toegevoegd en de functie timespec_get is uitgebreid met mogelijkheden die vergelijkbaar zijn met de functie POSIX clock_getres.
  • In het gconv-modules-bestand bleef slechts een minimale set hoofd-gconv-modules over en de rest werd verplaatst naar een extra gconv-modules-extra.conf-bestand in de gconv-modules.d-directory.
  • Het gebruik van symbolische koppelingen om installeerbare gedeelde objecten te koppelen aan de Glibc-versie is verwijderd. Deze objecten worden nu geïnstalleerd zoals ze zijn (bijv. libc.so.6 is nu een bestand in plaats van een link naar libc-2.34.so).
  • Op Linux vereisen functies zoals shm_open en sem_open nu een bestandssysteem voor het gedeelde geheugen dat is gemount op het /dev/shm koppelpunt.

Eindelijk als u er meer over wilt weten van deze nieuwe versie kunt u de details in de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.