Publikimi i bibliotekës sistemit Glibc 2.35

Pas six muaj zhvillimi, është publikuar versione e bibliotekës sistemike GNU C Library (glibc) 2.35, e cila plotëson plotësisht kërkesat e standardeve ISO C11 dhe POSIX.1-2017. Në këtë version të ri, janë përfshirë rregullime nga 66 zhvillues.

Disa nga përmirësimet në Glibc 2.35 përfshijnë:

  • Shtuar mbĂ«shtetje pĂ«r lokalitetin «C.UTF-8», i cili pĂ«rfshin rregullat e renditjes pĂ«r tĂ« gjitha kodet Unicode, por, pĂ«r tĂ« kursyer hapĂ«sirĂ«, Ă«shtĂ« kufizuar nĂ« pĂ«rdorimin e diapazonit ASCII nĂ« funksionet fnmatch, regexec dhe regcomp. Lokaliteti zĂ« rreth 400 KB, prej tĂ« cilave 346 KB janĂ« tĂ« dhĂ«na LC_CTYPE pĂ«r Unicode dhe kĂ«rkon instalim tĂ« veçantĂ« (nuk Ă«shtĂ« i pĂ«rfshirĂ« nĂ« Glibc).
  • TĂ« dhĂ«nat e kodimeve, informacioni mbi tipet e simboleve dhe tabelat e transliterimit janĂ« azhurnuar pĂ«r tĂ« mbĂ«shtetur specifikimin Unicode 14.0.0.
  • NĂ« <math.h> dhe <tgmath.h> janĂ« realizuar funksione dhe makros qĂ« pĂ«rfundojnĂ« rezultatin nĂ« njĂ« tip mĂ« tĂ« ngushtĂ«: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafN dhe fMfmafNx. Funksionet janĂ« pĂ«rshkruar nĂ« specifikimet TS 18661-1:2014, TS 18661-3:2015 dhe janĂ« shtuar nĂ« draftin e standardit tĂ« ardhshĂ«m C ISO C2X.
  • NĂ« <math.h> dhe <tgmath.h> janĂ« implementuar funksione dhe makro pĂ«r gjetjen e minimumit dhe maksimumit tĂ« numrave me pikĂ« fluturuese me tipe float, long double, _FloatN dhe _FloatNx, tĂ« pĂ«rshkruara nĂ« specifikimin IEEE 754-2019 dhe tĂ« shtuara nĂ« projektin e standardit tĂ« ardhshĂ«m tĂ« C-it ISO C2X: fmaximum, fmaximum_num, fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
  • NĂ« <math.h> janĂ« shtuar konstanta pĂ«r numrat me pikĂ« fluturuese me saktĂ«si tĂ« vetme: M_Ef, M_LOG2Ef, M_LOG10Ef, M_LN2f, M_LN10f, M_PIf, M_PI_2f, M_PI_4f, M_1_PIf, M_2_PIf, M_2_SQRTPIf, M_SQRT2f dhe M_SQRT1_2f.
  • PĂ«r funksionin exp10, nĂ« skedarin hyrĂ«s <tgmath.h> janĂ« shtuar makros qĂ« nuk lidhen me tipe specifike.
  • NĂ« <stdio.h> Ă«shtĂ« shtuar makrosi _PRINTF_NAN_LEN_MAX, i propozuar nĂ« projektin e standardit ISO C2X.
  • NĂ« funksionet e familjes printf janĂ« shtuar specifikatorĂ«t e formatit «%b» dhe «%B» pĂ«r tĂ« shfaqur numrat e plotĂ« nĂ« pĂ«rfaqĂ«simin binar.
  • NĂ« sistemin e lidhjes dinamike Ă«shtĂ« implementuar njĂ« algoritĂ«m i ri renditjeje DSO, qĂ« pĂ«rdor metodĂ«n e kĂ«rkimit nĂ« thellĂ«si (DFS) pĂ«r tĂ« zgjidhur problemet e performancĂ«s gjatĂ« pĂ«rpunimit tĂ« varĂ«sive ciklike. PĂ«r tĂ« zgjedhur algoritmin e renditjes DSO, Ă«shtĂ« propozuar parametri glibc.rtld.dynamic_sort, tĂ« cilit mund t'i caktohet vlera "1" pĂ«r tĂ« kthyer nĂ« algoritmin e vjetĂ«r.
  • NĂ« ABI Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r funksionin e ri ‘__memcmpeq’, i cili pĂ«rdoret nga kompilatorĂ«t pĂ«r optimizimin e pĂ«rdorimit tĂ« ‘memcmp’, nĂ« rastin kur vlera e kthyer nga ky funksion pĂ«rdoret vetĂ«m pĂ«r tĂ« kontrolluar statusin e pĂ«rfundimit tĂ« operacionit.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r regjistrimin automatik tĂ« threads, duke pĂ«rdorur thirrjen sistemike rseq (sekuencat e ripĂ«rtypshme), e cila ofrohet qĂ« nga bĂ«rthama Linux 4.18. Thirrja sistemike rseq lejon organizimin e ekzekutimit tĂ« pandĂ«rprerĂ« tĂ« njĂ« grupi instrukcionesh, pa ndĂ«rprerje dhe duke konfirmuar rezultatin e instrukciones sĂ« fundit nĂ« grup. NĂ« thelb ofrohet njĂ« mjet pĂ«r ekzekutimin shumĂ« tĂ« shpejtĂ« atomik tĂ« operacioneve, tĂ« cilat nĂ« rast ndĂ«rprerjeje nga njĂ« thread tjetĂ«r, pastrohen dhe pĂ«rpunohet njĂ« pĂ«rpjekje tjetĂ«r pĂ«r ekzekutim.
  • ËshtĂ« shtuar njĂ« lidhje simbolike /usr/bin/ld.so.
  • ËshtĂ« siguruar ndĂ«rtimi default i tĂ« gjitha skedave ekzekutivĂ« tĂ« programeve tĂ« brendshme dhe testit nĂ« mĂ«nyrĂ«n PIE (ekzekutiv i pavarur nga pozita). PĂ«r tĂ« çaktivizuar kĂ«tĂ« sjellje Ă«shtĂ« parashikuar opsioni "—disable-default-pie".
  • PĂ«r Linux Ă«shtĂ« shtuar cilĂ«simi glibc.malloc.hugetlb, qĂ« lejon kalimin e realizimit tĂ« malloc pĂ«r tĂ« pĂ«rdorur thirrjen sistemore madvise me flamurin MADV_HUGEPAGE pĂ«r mmap dhe sbrk ose pĂ«r tĂ« pĂ«rdorur drejtpĂ«rdrejt faqet e mĂ«dha tĂ« memories pĂ«rmes pĂ«rcaktimit tĂ« flamurit MAP_HUGETLB nĂ« thirrjet mmap. NĂ« rastin e parĂ«, mund tĂ« arrihet rritje e performancĂ«s nĂ«se Transparent Huge Pages pĂ«rdoren nĂ« mĂ«nyrĂ«n madvise, ndĂ«rsa nĂ« rastin e dytĂ« ofrohet mundĂ«sia pĂ«r pĂ«rdorimin e faqeve tĂ« mĂ«dha tĂ« rezervuara nga sistemi (Huge Pages).
  • ËshtĂ« shtuar funksioni _dl_find_object, i cili mund tĂ« pĂ«rdoret pĂ«r tĂ« shtuar informacion mbi zhvillimin e katĂ«rkĂ«ndshit tĂ« thirrjeve (unwind).
  • ËshtĂ« shtetur mbĂ«shtetje pĂ«r arkitekturĂ«n OpenRISC (or1k-linux-gnu) nĂ« modin e pĂ«rpunimit programatik tĂ« operacioneve me pikatore tĂ« lĂ«ngshme (soft-float). PĂ«r funksionimin e portit kĂ«rkohen binutils 2.35, GCC 11, dhe bĂ«rthama Linux 5.4.
  • Ă«shtĂ« shtuar flamuri i ndĂ«rtimit "--with-rtld-early-cflags", i cili lejon specifikimin e flamurĂ«ve shtesĂ« tĂ« kompilimit qĂ« pĂ«rdoren gjatĂ« ndĂ«rtimit tĂ« kodit fillestar pĂ«r lidhjen dinamike.
  • PĂ«r platformĂ«n Linux Ă«shtĂ« shtuar funksioni epoll_pwait2, i cili dallon nga epoll_wait duke pĂ«rcaktuar njĂ« kohĂ« tĂ« pritur me saktĂ«si nanoseconds.
  • ËshtĂ« shtuar funksioni posix_spawn_file_actions_addtcsetpgrp_np, i cili eliminon kushtet e garĂ«s kur konfigurohet terminali kontrollues pĂ«r procesin e ri.
  • PĂ«r aplikacionet e kompiluar me Glibc dhe GCC 12+, Ă«shtĂ« implementuar regjimi i mbrojtjes "_FORTIFY_SOURCE=3", i cili identifikon potencialet e tejkalimeve tĂ« tamponĂ«ve gjatĂ« ekzekutimit tĂ« funksioneve tĂ« stringut tĂ« pĂ«rcaktuara nĂ« skedarin header string.h. Dallimi nga regjimi "_FORTIFY_SOURCE=2" qĂ«ndron nĂ« verifikime tĂ« tjera shtesĂ«, tĂ« cilat potencialisht mund tĂ« çojnĂ« nĂ« zvogĂ«lim tĂ« performancĂ«s.
  • ËshtĂ« ndĂ«rprerĂ« mbĂ«shtetje pĂ«r zgjerimet Intel MPX (Memory Protection Extensions), tĂ« pĂ«rdorura pĂ«r verifikimin e treguesve nĂ« respektimin e kufijve tĂ« zonave tĂ« memories (kjo teknologji nuk u pĂ«rhap dhe tashmĂ« Ă«shtĂ« hequr nga GCC dhe LLVM).
  • Mekanizmi prelink dhe variablat e mjedisit tĂ« lidhura LD_TRACE_PRELINKING dhe LD_USE_LOAD_BIAS shpallen tĂ« vjetra dhe do tĂ« hiqen nĂ« versionin e ardhshĂ«m.

    Identifikuar dobësi:

    • CVE-2022-23218, CVE-2022-23219 — tepricĂ« buffer nĂ« funksionet svcunix_create dhe clnt_create, e shkaktuar nga kopjimi i pĂ«rmbajtjes sĂ« parametrave me emrin e skedarit nĂ« stack pa kontrollin e madhĂ«sisĂ« sĂ« tĂ« dhĂ«nave tĂ« kopjuara. PĂ«r aplikacionet e ndĂ«rtuara pa mbrojtje tĂ« stack-ut dhe qĂ« pĂ«rdorin protokollin 'unix', kjo cenueshmĂ«ri mund tĂ« çojĂ« nĂ« ekzekutimin e kodit nga njĂ« sulmues gjatĂ« pĂ«rpunimit tĂ« emrave tĂ« skedarĂ«ve shumĂ« tĂ« gjatĂ«.
    • CVE-2021-3998 — cenueshmĂ«ri nĂ« funksionin realpath(), e shkaktuar nga kthimi i njĂ« vlerĂ« tĂ« pasaktĂ« nĂ«n kushtet e caktuara, qĂ« pĂ«rmban tĂ« dhĂ«na tĂ« papastruara nga stack-u. PĂ«r programin SUID-root fusermount, kjo cenueshmĂ«ri mund tĂ« pĂ«rdoret pĂ«r tĂ« marrĂ« informacion konfidencial nga memoria e procesit, si pĂ«r shembull informacion mbi treguesit.
    • CVE-2021-3999 — tepricĂ« buffer njĂ«-byte nĂ« funksionin getcwd(). Problemi shkaktohet nga njĂ« gabim qĂ« Ă«shtĂ« i pranishĂ«m qĂ« nga viti 1995. PĂ«r tĂ« shkaktuar tepricĂ«n Ă«shtĂ« e mjaftueshme tĂ« kryhet thirrja chdir() pĂ«r katalogun '/' nĂ« njĂ« hapĂ«sirĂ« emĂ«rimi tĂ« veçantĂ«.

    Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster