Glibc 2.35 kommer med forbedringer, feilrettinger og mer

Etter seks måneder med utvikling utgivelsen av den nye versjonen av Glibc 2.35 ble annonsert der inkluderer rettelser fra 66 utviklere og av de implementerte forbedringene kan vi finne at støtte for lokaliteten "C.UTF-8" ble lagt til, som inkluderer sammenstillinger for alle Unicode-koder, men er begrenset til bruk av ASCII-områder i funksjonene fnmatch, regexec og regcomp for å lagre rom.

Lokaliteten er omtrent 400 KB, hvorav 346 KB er LC_CTYPE-data for Unicode, og må installeres separat (ikke innebygd i Glibc). Kodingsdata, tegntypeinformasjon og translitterasjonstabeller er oppdatert for å støtte Unicode 14.0.0-spesifikasjonen.

En annen endring som skiller seg ut er at Y implementere funksjoner og makroer som avrunder resultatet til en smalere type, I tillegg til å implementere funksjoner og makroer for å finne minimum og maksimum av flytende kommatall av typene float, long double, _FloatN og _FloatNx, beskrevet i IEEE 754-2019-spesifikasjonen.

for funksjoner exp10, blir de tilsvarende makroene lagt til overskriftsfilen, som ikke er bundet til bestemte typer, pluss at makroen _PRINTF_NAN_LEN_MAX ble lagt til , foreslått i utkastet til ISO C2X-standard.

Det dynamiske koblingssystemet implementerer en ny klassifiseringsalgoritme DSO ved hjelp av dybdesøk (DFS) for å løse ytelsesproblemer ved håndtering av sløyfeavhengigheter. For å velge DSO-sorteringsalgoritmen foreslås glibc.rtld.dynamic_sort-parameteren, som kan settes til "1" for å falle tilbake til forrige algoritme.

Foruten det lagt til støtte for en ny funksjon '__memcmpeq' til ABI, som brukes av kompilatorer for å optimalisere bruken av 'memcmp' når returverdien til denne funksjonen kun brukes til å sjekke fullføringsstatusen til en operasjon.

De støtte for automatisk trådregistrering ved å bruke systemkallet rseq (restartbare sekvenser) gitt siden Linux-kjernen 4.18. rseq-systemanropet gjør det mulig å organisere kontinuerlig utførelse av en gruppe instruksjoner som ikke blir avbrutt og forplikter resultatet med siste utsagn i gruppen. I hovedsak gir det et anlegg for veldig rask atomutførelse av operasjoner som, hvis de blir avbrutt av en annen tråd, blir ryddet opp og forsøkt på nytt.

På den annen side gir det standard kompilering av alle kjørbare filer av de innebygde programmene og en testpakke i PIE (posisjonsuavhengig kjørbar)-modus.

For å deaktivere denne oppførselen, alternativet "–disable-default-pie" er gitt, pluss for Linux, la til en glibc.malloc.hugetlb-innstilling for å endre malloc-implementeringen til å bruke madvise-systemkallet med MADV_HUGEPAGE-flagget for mmap og sbrk, eller direkte bruke store minnesider ved å spesifisere MAP_HUGETLB-flagget i mmap-kall.

I det første tilfellet kan en ytelsesøkning oppnås ved å bruke gjennomsiktige Huge Pages i madvise-modus, og i det andre tilfellet kan du bruke systemreserverte enorme sider (Huge Pages).

Det bør også bemerkes at noen sårbarheter ble fikset i denne nye versjonen:

  • CVE-2022-23218, CVE-2022-23219: Et bufferoverløp i funksjonene svcunix_create og clnt_create forårsaket av kopiering av innholdet i en filnavnparameter til stabelen uten å sjekke størrelsen på de kopierte dataene. For applikasjoner bygget uten stabelbeskyttelse og som bruker "unix"-protokollen, kan sikkerhetsproblemet føre til ondsinnet kodekjøring ved behandling av svært lange filnavn.
  • CVE-2021-3998: en sårbarhet i realpath()-funksjonen forårsaket av å returnere en feil verdi under visse forhold som inneholder urensede restdata fra stabelen. For SUID-root fusermount-programmet kan sårbarheten brukes til å hente sensitiv informasjon fra prosessminnet, for eksempel for å få pekerinformasjon.
  • CVE-2021-3999: enkeltbyte bufferoverløp i getcwd()-funksjonen. Problemet er forårsaket av en feil som har eksistert siden 1995. For å kalle et overløp, i et eget monteringspunkt-navneområde, ring bare chdir() i "/"-katalogen.

Endelig Hvis du er interessert i å vite mer om det, kan du sjekke detaljene i følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.