Glibc 2.35 kommer med forbedringer, fejlrettelser og mere

 

Efter seks måneders udvikling udgivelsen af ​​den nye version af Glibc 2.35 blev annonceret i hvilken indeholder rettelser fra 66 udviklere og af de implementerede forbedringer kan vi finde ud af, at understøttelse af "C.UTF-8"-lokaliteten blev tilføjet, som inkluderer kollationer for alle Unicode-koder, men er begrænset til brugen af ​​ASCII-intervaller i funktionerne fnmatch, regexec og regcomp for at gemme plads.

Lokaliteten er cirka 400 KB, hvoraf 346 KB er LC_CTYPE-data til Unicode, og skal installeres separat (ikke indbygget i Glibc). Kodningsdata, tegntypeoplysninger og translitterationstabeller er blevet opdateret for at understøtte Unicode 14.0.0-specifikationen.

En anden ændring, der skiller sig ud, er den Y implementere funktioner og makroer, der afrunder resultatet til en smallere type, Ud over at implementere funktioner og makroer for at finde minimum og maksimum antal flydende komma af typer flydende, lang dobbelt, _FloatN og _FloatNx, beskrevet i IEEE 754-2019 specifikationen.

til funktioner exp10, tilføjes de tilsvarende makroer til header-filen, som ikke er bundet til bestemte typer, plus _PRINTF_NAN_LEN_MAX-makroen blev føjet til , foreslået i udkastet til ISO C2X-standard.

Det dynamiske linksystem implementerer en ny klassifikationsalgoritme DSO ved hjælp af dybdesøgning (DFS) at løse ydeevneproblemer ved håndtering af loop-afhængigheder. For at vælge DSO-sorteringsalgoritmen foreslås glibc.rtld.dynamic_sort-parameteren, som kan indstilles til "1" for at falde tilbage til den forrige algoritme.

Udover det tilføjet understøttelse af en ny funktion '__memcmpeq' til ABI, som bruges af compilere til at optimere brugen af ​​'memcmp', når returværdien af ​​denne funktion kun bruges til at kontrollere fuldførelsesstatus for en operation.

Det understøttelse af automatisk trådregistrering ved at bruge rseq (genstartbare sekvenser) systemkald, der blev leveret siden Linux-kernen 4.18. rseq-systemkaldet giver mulighed for at organisere den kontinuerlige udførelse af en gruppe instruktioner som ikke afbrydes og forpligter resultatet med det sidste udsagn i gruppen. Grundlæggende giver det en facilitet til meget hurtig atomudførelse af operationer, som, hvis de afbrydes af en anden tråd, renses op og prøves igen.

På den anden side giver det standard kompilering af alle eksekverbare filer af de indbyggede programmer og en testsuite i PIE-tilstand (position-uafhængig eksekverbar).

For at deaktivere denne adfærd, muligheden "–disable-default-pie" er tilvejebragt, plus til Linux, tilføjede en glibc.malloc.hugetlb-indstilling for at ændre malloc-implementeringen til at bruge madvise-systemkaldet med MADV_HUGEPAGE-flaget til mmap og sbrk, eller direkte bruge store hukommelsessider ved at angive MAP_HUGETLB-flaget i mmap-kald.

I det første tilfælde kan et præstationsboost opnås ved at bruge gennemsigtige Huge Pages i madvise-tilstand, og i det andet tilfælde kan du bruge systemreserverede enorme sider (Huge Pages).

Det skal også bemærkes, at nogle sårbarheder blev rettet i denne nye version:

  • CVE-2022-23218, CVE-2022-23219: Et bufferoverløb i funktionerne svcunix_create og clnt_create forårsaget af kopiering af indholdet af en filnavnsparameter til stakken uden at kontrollere størrelsen af ​​de kopierede data. For applikationer, der er bygget uden stakbeskyttelse og bruger "unix"-protokollen, kan sårbarheden føre til ondsindet kodeudførelse ved behandling af meget lange filnavne.
  • CVE-2021-3998: en sårbarhed i realpath()-funktionen forårsaget af returnering af en forkert værdi under visse forhold indeholdende urensede resterende data fra stakken. For SUID-root fusermount-programmet kan sårbarheden bruges til at indhente følsomme oplysninger fra proceshukommelse, for eksempel for at få pointerinformation.
  • CVE-2021-3999: enkelt byte bufferoverløb i getcwd() funktion. Problemet er forårsaget af en fejl, der har eksisteret siden 1995. For at kalde et overløb, i et separat monteringspunkts navneområde, skal du blot kalde chdir() på "/"-mappen.

Endelig Hvis du er interesseret i at vide mere om det, du kan kontrollere detaljerne i følgende link.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.