Serbestberdana Pirtûkxaneya Pergalê ya Glibc 2.35

Piştî şeş mehan ji pêşkeftinê, pirtûkxaneya pergalê ya Pirtûkxaneya GNU C (glibc) 2.35 derket, ku bi tevahî hewcedariyên standardên ISO C11 û POSIX.1-2017 pêk tîne. Daxuyaniya nû sererastkirinên 66 pêşdebiran vedihewîne.

Hin çêtirkirinên ku di Glibc 2.35 de hatine bicîh kirin ev in:

  • Piştgiriya herêmî ya "C.UTF-8" zêde kir, ku qaîdeyên berhevkirinê ji bo hemî kodên Unicode vedihewîne, lê ji bo xilaskirina cîhê bi karanîna rêzikên ASCII di fonksiyonên fnmatch, regexec û regcomp de sînordar e. Herêm bi qasî 400 KB ye, ji wan 346 KB ji bo Unicode daneya LC_CTYPE ye, û pêdivî bi sazkirinek cûda heye (ne di Glibc de hatî çêkirin).
  • Daneyên şîfrekirinê, agahdariya celebê karakter, û tabloyên veguheztinê hatine nûve kirin ku piştgirîya taybetmendiya Unicode 14.0.0 bikin.
  • û fonksîyon û makroyên ku encamê bi celebek tengtir vedigirin bicîh dikin: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfN, fMxsqrtfN, fMxsqrtfN, fMxsqrtfN, fMxsqrtfN, fMxsqrtfN fMxfmafNx. Karûbar di taybetmendiyên TS 18661-1:2014, TS 18661-3:2015 de têne diyar kirin û li pêşnûmeya standarda ISO C2X C ya pêşerojê têne zêdekirin.
  • û fonksîyon û makroyan bicîh dikin ji bo dîtina herî kêm û herî zêde ya float, duqat dirêj, _FloatN û _FloatNx jimareyên xala herikandinê, ku di taybetmendiya IEEE 754-2019 de hatine diyar kirin û li pêşnûmeya pêşerojê hatine zêdekirin. Standarda ISO C2X: fmaximum, fmaximum_num, fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
  • Li ji bo jimareyên xala herikînê yên tekane domdar hatine zêdekirin: 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_2RTFS, M_2_PIf, M_LOG1Ef, M_LN2f, M_LNXNUMXf, M_PIf, M_PI_XNUMXf, M_PI_XNUMXf, M_XNUMX_PIf, M_XNUMX_PIf, M_XNUMXRTFS, M_XNUMX_PIf, M_LOGXNUMXEf.
  • Ji bo fonksiyonên exp10, makroyên têkildar ên ku bi celebên taybetî ve girêdayî ne li pelê sernavê hatine zêdekirin.
  • _PRINTF_NAN_LEN_MAX makroya ku di pêşnûmeya standard ISO C2X de hatî pêşniyar kirin li zêde kir.
  • Ji bo çapkirina jimareyên bêkêmasî di temsîla binaryê de diyarkerên formata "%b" û "%B" li malbata fonksiyonên printf zêde kirin.
  • Pergala girêdana dînamîkî algorîtmayek nû ya cûrbecûr, DSO, bicîh tîne, ku lêgerîna yekem-kûrahî (DFS) bikar tîne da ku pirsgirêkên performansê yên bi girêdanên vekêşanê re çareser bike. Ji bo hilbijartina algorîtmaya dabeşkirina DSO, pîvana glibc.rtld.dynamic_sort tê pêşniyar kirin, ku dikare wekî "1" were danîn da ku vegere algorîtmaya kevn.
  • ABI ji bo fonksiyonek nû '__memcmpeq' piştgirî zêde kiriye, ku ji hêla berhevkeran ve ji bo xweşbînkirina karanîna 'memcmp' tê bikar anîn heke nirxa ku ji hêla vê fonksiyonê ve hatî vegerandin tenê ji bo kontrolkirina statûya qedandina operasyonek were bikar anîn.
  • Piştgiriyek ji bo qeydkirina bixweber mijaran bi karanîna banga pergala rseq (rêzikên ji nû ve dest pê kirin) ji kernel Linux 4.18 ve hatî peyda kirin. Banga pergala rseq dihêle hûn pêkanîna domdar a komek rêwerzan ku nayê qut kirin birêxistin bikin û encamê bi fermana paşîn a komê piştrast dike. Di bingeh de, ew navgînek ji bo pêkanîna atomî ya pir bilez peyda dike ku, heke ji hêla têlek din ve were qut kirin, têne paqij kirin û dîsa têne ceribandin.
  • Symlink /usr/bin/ld.so zêde kir.
  • Meclîsa xwerû ya hemî pelên bikêrhatî yên bernameyên pêvekirî û ceribandina testê di moda PIE (hilberîna serbixwe ya pozîsyonê) de tê peyda kirin. Ji bo neçalakkirina vê tevgerê, vebijarka "--neçalak-default-pie" tê peyda kirin.
  • Ji bo Linux, mîhengek glibc.malloc.hugetlb hate zêdekirin da ku destûr bide ku bicîhkirina malloc were guheztin da ku banga pergala madvise bi ala MADV_HUGEPAGE ji bo mmap û sbrk bikar bîne, an jî rasterast rûpelên bîranînê yên mezin bikar bîne bi destnîşankirina ala MAP_HUGETLB di mmap de. bang dike. Di rewşa yekem de, heke Rûpelên Mezin ên Transparent di moda madvise de werin bikar anîn, destkeftiyên performansê têne bidestxistin, û di rewşa duyemîn de, şiyana karanîna Rûpelên Mezin ên ji hêla pergalê ve hatine veqetandin peyda dibe.
  • Fonksiyona _dl_find_object zêde kir ku dikare were bikar anîn da ku agahdariya vekêşana stoka bangê zêde bike.
  • Piştgiriya ji bo mîmariya OpenRISC (or1k-linux-gnu) di moda nerm-float de zêde kir. Ji portê re binutils 2.35, GCC 11, û Linux kernel 5.4 hewce dike.
  • Alayek avakirinê "--with-rtld-early-cflags" lê zêde kir, ku dikare were bikar anîn da ku alayên berhevokê yên din ên ku dema çêkirina koda destpêkê ji bo girêdana dînamîkî têne bikar anîn destnîşan bikin.
  • Ji bo platforma Linux-ê, fonksiyona epoll_pwait2 hate zêdekirin, ku ji epoll_wait cûda dibe bi destnîşankirina demek bi rastbûna nanosecondê.
  • Fonksiyona posix_spawn_file_actions_addtcsetpgrp_np lê zêde kir ku dema ku termînalek kontrolê ji bo pêvajoyek nû saz dike şert û mercên nijadê ji holê rake.
  • Ji bo serîlêdanên ku bi Glibc û GCC 12+ re hatine berhev kirin, moda parastinê "_FORTIFY_SOURCE=3" tête bicîh kirin, ku dema fonksiyonên rêzikê yên ku di pelê sernavê string.h de hatine destnîşan kirin bi cih tîne, zêdebariyên tamponê yên muhtemel tesbît dike. Cûdahiya ji moda "_FORTIFY_SOURCE=2" bi kontrolên din ve tê, ku dibe sedema kêmbûna performansê.
  • Piştgiriya ji bo Intel MPX (Pêveçûnên Parastina Bîrê), ku ji bo kontrolkirina nîgaran ji bo sînorên bîranînê tê bikar anîn, hate sekinandin (ev teknolojî berbelav nebûye û jixwe ji GCC û LLVM hatiye derxistin).
  • Mekanîzmaya pêşgirêdanê û guhêrbarên hawîrdorê yên girêdayî wê LD_TRACE_PRELINKING û LD_USE_LOAD_BIAS hatine betal kirin û dê di weşanek pêşerojê de werin rakirin.

    Zelaliyên hatine sererast kirin:

    • CVE-2022-23218, CVE-2022-23219 - Di fonksiyonên svcunix_create û clnt_create de berbelavbûna tamponê, ji ber kopîkirina naveroka parametreya navê pelê li ser stakê bêyî kontrolkirina mezinahiya daneya kopîkirî ye. Ji bo serîlêdanên ku bêyî parastina stackê hatine çêkirin û protokola "unix" bikar tînin, dema ku navên pelên pir dirêj têne hilberandin, zexm dikare bibe sedema pêkanîna koda êrîşkar.
    • CVE-2021-3998 di fonksiyona realpath() de qelsiyek e ji ber vegerandina, di bin hin mercan de, nirxek xelet ku daneyên bermayî yên nepaqijkirî yên ji stikê vedigire. Ji bo bernameya SUID-root fusermount, lawazbûn dikare were bikar anîn da ku agahdariya hesas ji bîranîna pêvajoyê werbigire, mînakî, ji bo bidestxistina agahdariya li ser nîşankeran.
    • CVE-2021-3999 - Di fonksiyona getcwd() de tamponek yek-byte zêde dibe. Pirsgirêk ji ber xeletiyek ku ji sala 1995-an vir ve heye ye. Ji bo ku bibe sedema zêdebûnek, bi tenê chdir() li pelrêça "/" di nav cîhek cihê navê xala çiyê de bang bikin.

    Source: opennet.ru

Add a comment