„Glibc 2.35“ pateikiama su patobulinimais, klaidų pataisymais ir dar daugiau

Po šešių mėnesių vystymosi buvo paskelbta apie naujos Glibc 2.35 versijos išleidimą kuriame apima 66 kūrėjų pataisymus ir iš įdiegtų patobulinimų galime pastebėti, kad buvo pridėta "C.UTF-8" lokalės palaikymas, kuris apima visų Unicode kodų palyginimus, tačiau apsiriboja ASCII diapazonų naudojimu funkcijose fnmatch, regexec ir regcomp, kad būtų išsaugota. erdvė.

Lokalė yra maždaug 400 KB, iš kurių 346 KB yra LC_CTYPE duomenys, skirti Unicode, ir turi būti įdiegta atskirai (neįmontuota į Glibc). Kodavimo duomenys, simbolių tipo informacija ir transliteracijos lentelės buvo atnaujintos, kad palaikytų Unicode 14.0.0 specifikaciją.

Kitas išsiskiriantis pokytis yra tas Y įgyvendinti funkcijas ir makrokomandas, kurios suapvalina rezultatą iki siauresnio tipo, Be funkcijų ir makrokomandų diegimo, siekiant rasti mažiausią ir didžiausią slankiojo kablelio skaičių slankiojo kablelio tipuose, plaukiojančiame, long double, _FloatN ir _FloatNx, aprašytų IEEE 754-2019 specifikacijoje.

funkcijoms exp10, atitinkamos makrokomandos pridedamos prie antraštės failo, kurie nėra susieti su konkrečiais tipais, taip pat _PRINTF_NAN_LEN_MAX makrokomanda buvo pridėta prie , siūloma ISO C2X standarto projekte.

Dinaminio susiejimo sistema įgyvendina naują klasifikavimo algoritmą DSO naudojant giluminę paiešką (DFS) spręsti našumo problemas tvarkant ciklo priklausomybes. Norint pasirinkti DSO rūšiavimo algoritmą, siūlomas parametras glibc.rtld.dynamic_sort, kurį galima nustatyti į „1“, kad būtų grąžintas ankstesnis algoritmas.

Be to pridėtas naujos funkcijos „__memcmpeq“ palaikymas į ABI, kurį naudoja kompiliatoriai, norėdami optimizuoti „memcmp“ naudojimą, kai šios funkcijos grąžinamoji reikšmė naudojama tik operacijos užbaigimo būsenai patikrinti.

The automatinio gijų registravimo palaikymas naudojant rseq (iš naujo paleidžiamų sekų) sistemos iškvietimą, pateiktą nuo Linux branduolio 4.18 versijos. Rseq sistemos skambutis leidžia organizuoti nenutrūkstamą komandų grupės vykdymą kuri nenutrūksta ir įpareigoja rezultatą paskutiniu grupės teiginiu. Iš esmės tai suteikia galimybę labai greitai atomiškai atlikti operacijas, kurios, nutraukus kitą giją, išvalomos ir bandomos iš naujo.

Kita vertus, tai suteikia numatytasis visų vykdomųjų failų kompiliavimas integruotų programų ir bandymų rinkinio PIE (nuo padėties nepriklausomo vykdomojo) režimu.

Norėdami išjungti šį elgesį, pateikiama parinktis „–disable-default-pie“., be to, Linux sistemoje, pridėjo glibc.malloc.hugetlb nustatymą, kad pakeistų malloc įgyvendinimą, kad būtų galima naudoti madvise sistemos iškvietimą su MADV_HUGEPAGE vėliava, skirta mmap ir sbrk, arba tiesiogiai naudoti didelius atminties puslapius, nurodant MAP_HUGETLB vėliavėlę mmap skambučiuose.

Pirmuoju atveju našumo padidėjimą galima pasiekti naudojant skaidrius didžiulius puslapius madvise režimu, o antruoju atveju galite naudoti sistemos rezervuotus didžiulius puslapius (Huge Pages).

Taip pat reikėtų pažymėti, kad kai kurie pažeidžiamumai buvo ištaisyti šioje naujoje versijoje:

  • CVE-2022-23218, CVE-2022-23219: Buferio perpildymas funkcijose svcunix_create ir clnt_create, kurį sukelia failo pavadinimo parametro turinio kopijavimas į krūvą nepatikrinus nukopijuotų duomenų dydžio. Programoms, sukurtoms be kamino apsaugos ir naudojant „unix“ protokolą, pažeidžiamumas gali sukelti kenkėjiško kodo vykdymą apdorojant labai ilgus failų pavadinimus.
  • CVE-2021-3998: funkcijos realpath() pažeidžiamumas, kurį sukelia neteisingos reikšmės grąžinimas tam tikromis sąlygomis, kuriose yra neišvalytų likutinių duomenų iš kamino. SUID-root fusermount programai pažeidžiamumas gali būti naudojamas norint gauti neskelbtiną informaciją iš proceso atminties, pavyzdžiui, norint gauti rodyklės informaciją.
  • CVE-2021-3999: vieno baito buferio perpildymas getcwd() funkcijoje. Problemą sukelia klaida, kuri egzistuoja nuo 1995 m. Norėdami iškviesti perpildymą, atskiroje prijungimo taško vardų erdvėje tiesiog iškvieskite chdir() kataloge "/".

Pagaliau Jei norite sužinoti daugiau apie tai, išsamią informaciją galite patikrinti sekanti nuoroda.


Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.