Glibc 2.35 prihaja z izboljšavami, popravki napak in še več

Po šestih mesecih razvoja objavljena je bila izid nove različice Glibc 2.35 v katerem vključuje popravke 66 razvijalcev in od implementiranih izboljšav lahko ugotovimo, da je bila dodana podpora za jezik "C.UTF-8", ki vključuje primerjave za vse kode Unicode, vendar je omejena na uporabo obsegov ASCII v funkcijah fnmatch, regexec in regcomp za shranjevanje prostor.

Jezikovna nastavitev je približno 400 KB, od tega je 346 KB podatkov LC_CTYPE za Unicode in jih je treba namestiti ločeno (ni vgrajeno v Glibc). Podatki o kodiranju, informacije o vrsti znakov in tabele za transkripcijo so bili posodobljeni, da podpirajo specifikacijo Unicode 14.0.0.

Druga sprememba, ki izstopa, je ta in izvajati funkcije in makre, ki zaokrožijo rezultat na ožji tip, Poleg implementacije funkcij in makrov za iskanje najmanjših in največjih števil s plavajočo vejico tipov float, long double, _FloatN in _FloatNx, opisanih v specifikaciji IEEE 754-2019.

za funkcije exp10, se ustrezni makri dodajo v naslovno datoteko, ki niso vezani na določene vrste, plus makro _PRINTF_NAN_LEN_MAX je bil dodan v , predlagan v osnutku standarda ISO C2X.

Sistem dinamičnega povezovanja izvaja nov klasifikacijski algoritem DSO z uporabo globinskega iskanja (DFS) za reševanje težav z zmogljivostjo pri ravnanju z odvisnostmi zanke. Za izbiro algoritma razvrščanja DSO je predlagan parameter glibc.rtld.dynamic_sort, ki ga lahko nastavite na "1", da se vrnete na prejšnji algoritem.

Poleg tega dodana podpora za novo funkcijo '__memcmpeq' v ABI, ki ga uporabljajo prevajalniki za optimizacijo uporabe `memcmp', ko se vrnjena vrednost te funkcije uporablja samo za preverjanje statusa dokončanja operacije.

The podpora za samodejno registracijo niti z uporabo sistemskega klica rseq (zaporedja, ki jih je mogoče znova zagnati), ki so na voljo od jedra Linuxa 4.18. Sistemski klic rseq omogoča organizacijo neprekinjenega izvajanja skupine navodil ki se ne prekine in potrdi rezultat z zadnjim stavkom v skupini. V bistvu zagotavlja možnost za zelo hitro atomsko izvajanje operacij, ki se, če jih prekine druga nit, očistijo in poskusijo znova.

Po drugi strani pa zagotavlja privzeta kompilacija vseh izvedljivih datotek vgrajenih programov in testne zbirke v načinu PIE (izvedljiva datoteka, neodvisna od položaja).

Če želite onemogočiti to vedenje, na voljo je možnost »–disable-default-pie«., plus za Linux, je dodal nastavitev glibc.malloc.hugetlb za ​​spremembo implementacije malloc za uporabo sistemskega klica madvise z zastavico MADV_HUGEPAGE za mmap in sbrk ali neposredno uporabo velikih pomnilniških strani z določitvijo zastave MAP_HUGETLB v klicih mmap.

V prvem primeru lahko povečanje zmogljivosti dosežete z uporabo preglednih Huge Pages v načinu madvise, v drugem primeru pa lahko uporabite sistemsko rezervirane ogromne strani (Huge Pages).

Prav tako je treba opozoriti, da so bile v tej novi različici odpravljene nekatere ranljivosti:

  • CVE-2022-23218, CVE-2022-23219: Prelivanje medpomnilnika v funkcijah svcunix_create in clnt_create, ki ga povzroči kopiranje vsebine parametra imena datoteke v sklad brez preverjanja velikosti kopiranih podatkov. Za aplikacije, izdelane brez zaščite sklada in uporabljajo protokol "unix", lahko ranljivost povzroči izvajanje zlonamerne kode pri obdelavi zelo dolgih imen datotek.
  • CVE-2021-3998: ranljivost v funkciji realpath(), ki jo povzroči vrnitev napačne vrednosti pod določenimi pogoji, ki vsebuje neočiščene preostale podatke iz sklada. Za program fusermount s korenskim SUID-om se lahko ranljivost uporabi za pridobivanje občutljivih informacij iz procesnega pomnilnika, na primer za pridobivanje informacij o kazalcu.
  • CVE-2021-3999: prelivanje enobajtnega medpomnilnika v funkciji getcwd(). Težavo povzroča napaka, ki je prisotna že od leta 1995. Če želite poklicati prelivanje, v ločenem imenskem prostoru točke priklopa, samo pokličite chdir() v imeniku "/".

Končno Če vas zanima več o tem, podrobnosti lahko preverite v naslednja povezava.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.