Glibc 2.34 arriba amb solucions de vulnerabilitats, noves funcions per a Linux i mes

fa poc es va donar a conèixer l'alliberament de la nova versió de Glibc 2.34 la qual arriba després de sis mesos de desenvolupament i en la qual s'han realitzat diversos canvis força importants, entre els quals destaca la inclusió de les llibreries libpthread, libdl, libutil i libanl, així com també diverses correccions d'errors de les quals una de elles causava bloquejos.

Per als qui desconeixen de Glibc, han de saber que és una biblioteca GNU C, comunament coneguda com glibc és la biblioteca de temps d'execució estàndard de el llenguatge C de GNU. En els sistemes en què es fa servir, aquesta biblioteca de C que proporciona i defineix les trucades a sistema i altres funcions bàsiques, és utilitzada per gairebé tots els programes. 

Principals novetats de Glibc 2.34

En aquesta nova versió de Glibc 2.34 que es presenta s'han integrat a la llibreria principal libpthread, libdl, libutil i libanl, L'ús de la seva funcionalitat en aplicacions ja no requereix vincular-les amb els indicadors -lpthread, -ldl, -lutil i -lanl.

A més, s'esmenta que s'han realitzat preparatius per integrar libresolv a libc, amb la qual cosa la integració permetrà un procés d'actualització glibc més fluid i simplificarà la implementació de el temps d'execució i també s'han proporcionat biblioteques stub per compatibilitat amb aplicacions creades amb versions anteriors de glibc.

Per la part dels canvis enfocats per a Linux en Glibc 2.34 es destaca la capacitat afegida d'utilitzar el tipus estafi_t de 64 bits en configuracions que tradicionalment feien servir el tipus estafi_t de 32 bits. Aquesta funció només està disponible en sistemes amb un nucli 5.1 i superiors.

Un altre canvi específic per a Linux és la implementació de la funció execveat, que permet executar un arxiu executable des d'un descriptor d'arxiu obert. La nova funció també s'utilitza en la implementació de l'anomenada fexecve, que no requereix que el pseudo-sistema de fitxers / proc estigui muntat a l'inici.

També es va afegir la funció close_range () que està disponible per a versions de Linux 5.9 i superiors i la qual pot ser utilitzada per permetre que un procés tanqui un rang complet de descriptors d'arxius oberts a la vegada, a més s'implementa el paràmetre glibc.pthread.stack_cache_size, que es pot usar per a ajustar la mida de la memòria cau de la pila pthread.

D'altra banda, es va agregar la funció _Fork, un reemplaçament per a la funció forquilla que compleix amb els requisits de «async-signal-safe», és a dir que es pot trucar de forma segura des dels controladors de senyals. Durant l'execució de _Fork, es forma un entorn mínim, suficient per trucar a funcions en manejadors de senyals com raise i execve, sense invocar característiques que puguin canviar els bloquejos o l'estat intern.

Per la part de les vulnerabilitats solucionades en Glibc 2.34 s'esmenten les següents:

CVE-2021-27645: Fallada de l'procés nscd (dimoni d'emmagatzematge en memòria cau de servidor de noms) a causa d'una doble crida a la funció gratuïta mentre es processaven sol·licituds de grups de xarxa especialment dissenyades.

CVE-2021-33574: accés a una àrea de memòria ja alliberada (use-after-free) en la funció mq_notify quan s'usa el tipus de notificació SIGEV_THREAD amb un atribut de subprocés per al qual s'estableix una màscara d'enllaç de CPU alternativa. El problema pot provocar un bloqueig, però no s'exclouen altres opcions d'atac.

CVE-2021-35942: El desbordament de la mida de l'paràmetre a la funció wordexp podria bloquejar l'aplicació.

Dels altres canvis que es destaquen:

  • Es va agregar la funció timespec_getres, definida en l'esborrany de l'estàndard ISO C2X i es va augmentar la funció timespec_get amb capacitats similars a la funció POSIX clock_getres.
  • A l'arxiu gconv-modules, només quedava un conjunt mínim de mòduls gconv principals, i la resta es va moure a un fitxer addicional gconv-modules-extra.conf ubicat al directori gconv-modules.d.
  • Es va eliminar l'ús d'enllaços simbòlics per vincular objectes compartits instal a la versió de Glibc. Aquests objectes ara s'instal·len tal qual (per exemple, libc.so.6 ara és un arxiu en lloc d'un enllaç a libc-2.34.so).
  • A Linux, funcions com shm_open i sem_open ara requereixen un sistema d'arxius per a la memòria compartida muntada en el punt de muntatge / dev / shm.

Finalment si estàs interessat en poder conèixer més a l'respecte d'aquesta nova versió, pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.