Vabastatud sĂŒsteemi teek Glibc 2.35

PĂ€rast kuue kuu arengut on vĂ€lja antud sĂŒsteemi teegi GNU C Library (glibc) 2.35 versioon, mis vastab tĂ€ielikult ISO C11 ja POSIX.1-2017 standardite nĂ”uetele. Uue versiooni koosseisu kuuluvad parandused 66 arendajalt.

Glibc 2.35 rakendatud tÀiustustest vÔib vÀlja tuua:

  • On lisatud tugi locale-le "C.UTF-8", mis hĂ”lmab sortimise reegleid kĂ”ikide Unicode-koodide jaoks, kuid ruumi kokkuhoiuks on piiratud ASCII-vahemike kasutamisega funktsioonides fnmatch, regexec ja regcomp. Locale'i suurus on umbes 400 KB, millest 346 KB moodustavad LC_CTYPE andmed Unicode'i jaoks, ning see nĂ”uab eraldi installimist (ei ole glibci sisse ehitatud).
  • Koodide andmed, teave sĂŒmbolite tĂŒĂŒpide ja translitereerimisdiagrammide kohta on uuendatud, et toetada Unicode'i spetsifikatsiooni versiooni 14.0.0.
  • Failides ja on rakendatud funktsioonid ja makrod, mis ĂŒmarvad tulemuse kitsamale tĂŒĂŒbile: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafN ja fMfmafNx. Funktsioonid on kirjeldatud spetsifikatsioonides TS 18661-1:2014, TS 18661-3:2015 ja need on lisatud tulevase C standardi ISO C2X mustandisse.
  • Failides ja on rakendatud funktsioonid ja makrod, mis leiavad ujuvate punktide arvude minimaalset ja maksimaalset vÀÀrtust tĂŒĂŒpidega float, long double, _FloatN ja _FloatNx, mis on kirjeldatud IEEE 754-2019 spetsifikatsioonis ja lisatud tulevase C standardi ISO C2X mustandisse: fmaximum, fmaximum_num, fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
  • Failis on lisatud konstandid ujuvate punkti arvude ĂŒksikute tĂ€psuste jaoks: 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 ja M_SQRT1_2f.
  • Funktsioonide exp10 jaoks on failis lisatud vastavad makrod, mis ei ole seotud konkreetsete tĂŒĂŒpidega.
  • Failis on lisatud makro _PRINTF_NAN_LEN_MAX, mis on soovitatud ISO C2X standardi mustandis.
  • printf funktsioonide perekonda on lisatud vorminguspetsiifikaatorid "%b" ja "%B", et kuvada tĂ€isarve binaarses vormis.
  • DĂŒnaamilise sidumise sĂŒsteemis on rakendatud uus DSO sortimisalgoritm, mis kasutab sĂŒgavuse otsingu (DFS) meetodit, et lahendada jĂ”udlusprobleemid tsĂŒkliliste sĂ”ltuvuste töötlemisel. DSO sortimisalgoritmi valimiseks on saadaval parameeter glibc.rtld.dynamic_sort, millele saab mÀÀrata vÀÀrtuse "1", et tagasipöörduda vana algoritmi juurde.
  • ABI-sse on lisatud tugi uuele funktsioonile ‘__memcmpeq’, mida kompilaatorid kasutavad ‘memcmp’ optimeerimiseks, juhul kui selle funktsiooni tagastatud vÀÀrtust kasutatakse ainult operatsiooni lĂ”ppstaatus kontrollimiseks.
  • Lisatud automaatse allokaatori toa toetamine, kasutades sĂŒsteemikĂ”net rseq (taaskĂ€ivitatavad jĂ€rjestused), mis on saadaval alates Linuxi tuumast 4.18. SĂŒsteemikĂ”ne rseq vĂ”imaldab korraldada katkestustega mittekatkestavat kĂ€skude rĂŒhma tĂ€itmist, mis ei katkesta ja kinnitab tulemuse viimase kĂ€skluse rĂŒhmas. Sisuliselt pakutakse vĂ€ga kiire atomaarse toimingu tĂ€itmise vahendit, mis katkestamise korral tĂ”rjub ja proovib taaskĂ€ivitamist.
  • Lisatud sĂŒmboolne link /usr/bin/ld.so.
  • Kohandatud vaikimisi nii kĂ€ivitatavad failid sisseehitatud programmide ja testikomplekti kogumiseks, et neid koostada PIE (asendist sĂ”ltumatu kĂ€ivitatav) reĆŸiimis. Selle kĂ€itumise keelamiseks on saadaval valik ‘—disable-default-pie’.
  • Linuxi jaoks on lisatud konfiguratsioon glibc.malloc.hugetlb, mis vĂ”imaldab vahetada malloc'i rakenduse madvise sĂŒsteemikĂ”ne kasutamise jaĐșажutades lippu MADV_HUGEPAGE mmap ja sbrk'ile vĂ”i kasutada otseselt suuri mĂ€lu lehti, mÀÀrates mmap'i kĂ”nedes MAP_HUGETLB lipu. Esimeses juhtumis saab saavutada jĂ”udluse paranemise, kui lĂ€bipaistvad suured lehed on madvise reĆŸiimis, teises aga on vĂ”imalus kasutada sĂŒsteemi reserveeritud suuri lehti (Huge Pages).
  • Lisatud funktsioon _dl_find_object, mida saab kasutada kutsuva stacki info lisamiseks (unwind).
  • Lisatud OpenRISC (or1k-linux-gnu) arhitektuuri tugi pehmete ujukite operatsioonide töötlemise reĆŸiimis. Pordi tööks on vajalik binutils 2.35, GCC 11 ja Linuxi tuum 5.4.
  • Lisatud koostamislipik ‘—with-rtld-early-cflags’, millega saab mÀÀrata tĂ€iendavad koostamislipud, mida kasutatakse dĂŒnaamilise sidumise algkoodi koostamisel.
  • Linuxi platvormile on lisatud funktsioon epoll_pwait2, mis erineb epoll_wait'ist selle poolest, et see mÀÀrab ajaintervalli nanosekundilise tĂ€psusega.
  • Lisatud funktsioon posix_spawn_file_actions_addtcsetpgrp_np, mis vĂ€listab vĂ”istlusseisundid uue protsessi juhtterminalis seadistamisel.
  • Rakenduste jaoks, mis on kompileeritud Glibci ja GCC 12+ abil, on sisse lĂŒlitatud kaitsereĆŸiim „_FORTIFY_SOURCE=3”, mis tuvastab vĂ”imalikke puhverĂŒlekuulamisi stringi.h pealdefineeritud stringifunktsioonide tĂ€itmise ajal. Erinevus reĆŸiimist „_FORTIFY_SOURCE=2” tuleneb tĂ€iendavatest kontrollidest, mis vĂ”ivad potentsiaalselt vĂ€hendada jĂ”udlust.
  • Peatatud on Intel MPX (Memory Protection Extensions) laienduste tugi, mida kasutati pointerite kontrollimiseks mĂ€lupiiride jĂ€rgimise osas (antud tehnoloogia ei leidnud laialdast kasutamist ning on juba GCC ja LLVM-st eemaldatud).
  • EESmĂ€rk on vĂ€lja kuulutatud aegunuks ja see eemaldatakse jĂ€rgmises vĂ€ljaandes, samuti seotud keskkonnamuutujad LD_TRACE_PRELINKING ja LD_USE_LOAD_BIAS.

    Turbepuudused on kÔrvaldatud:

    • CVE-2022-23218, CVE-2022-23219 — puhverĂŒlekuulamine funktsioonides svcunix_create ja clnt_create, mis on pĂ”hjustatud faili nime parameetri sisu kopeerimisest stacki ilma kopeeritavate andmete suuruse kontrollita. Rakenduste puhul, mis on ehitatud ilma stackikaitseta ja kasutavad „unix” protokolli, vĂ”ivad need haavatavused vĂ”imaldada kurjategijal koodi tĂ€itmist, kui failide nimed on vĂ€ga pikad.
    • CVE-2021-3998 — haavatavus funktsioonis realpath(), mille on pĂ”hjustanud teatud tingimustel vale vÀÀrtuse tagastamine, mis sisaldab vaheandmeid stackist. SUID-root programmi fusermount puhul vĂ”ib haavatavust kasutada konfidentsiaalsete andmete saamiseks protsessi mĂ€lust, nĂ€iteks pointerite teabe saamiseks.
    • CVE-2021-3999 — ĂŒhe baitine puhverĂŒlekuulamine funktsioonis getcwd(). Probleem on tingitud veast, mis on olemas olnud alates 1995. aastast. Üksikutes Mount Namespace'ides piisab, kui kutsuda chdir() vĂ€lja kaustas „/”, et provotseerida ĂŒlekulu.

    Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster