Glibc 2.34 System Library Release

Eftir sex mánaða þróun hefur GNU C Library (glibc) 2.34 kerfissafnið verið gefið út, sem uppfyllir að fullu kröfur ISO C11 og POSIX.1-2017 staðlanna. Nýja útgáfan inniheldur lagfæringar frá 66 forriturum.

Sumar af endurbótunum sem innleiddar eru í Glibc 2.34 eru:

  • Libpthread, libdl, libutil og libanl bókasöfnin eru samþætt í aðal libc uppbyggingu, notkun virkni þeirra í forritum krefst ekki lengur tengingar með því að nota -lpthread, -ldl, -lutil og -lanl fánana. Undirbúningur hefur verið gerður fyrir samþættingu libresolv í libc. Samþætting mun leyfa óaðfinnanlegra glibc uppfærsluferli og mun einfalda keyrslutímaútfærslu. Stubbasöfn eru til staðar til að veita afturábak eindrægni við forrit sem eru byggð með eldri útgáfum af glibc. Vegna fjölgunar fjölda mannvirkja og aðgerða sem veittar eru í glibc, geta vandamál komið upp í forritum þar sem nafnamót eru við áður ónotuð söfn libpthread, libdl, libutil, libresolv og libanl.
  • Veitir möguleika á að nota 64-bita time_t tegund í stillingum sem venjulega notuðu 32-bita time_t tegund. Í slíkum stillingum, til dæmis á x86 kerfum, er sjálfgefið ennþá 32-bita time_t, en þessari hegðun er nú hægt að breyta með því að nota "_TIME_BITS" fjölva. Þessi eiginleiki er aðeins fáanlegur á kerfum með að minnsta kosti Linux kjarna útgáfu 5.1.
  • Bætti við _Fork aðgerðinni, í staðinn fyrir gaffalaðgerðina sem uppfyllir kröfur um "async-signal-safe", þ.e. leyfa örugg símtöl frá merkjahönnuðum. Við framkvæmd _Fork myndast lágmarksumhverfi sem nægir til að kalla fram aðgerðir í merkjameðferðaraðilum eins og hækka og stjórna án þess að taka þátt í eiginleikum sem gætu breytt læsingum eða innra ástandi. _Fork símtalið verður skilgreint í framtíðarútgáfu af POSIX staðlinum, en í bili er það innifalið sem GNU viðbót.
  • Fyrir Linux pallinn hefur execveat aðgerðin verið innleidd, sem gerir þér kleift að keyra keyrsluskrá úr opinni skráarlýsingu. Nýja aðgerðin er einnig notuð við útfærslu á fexecve símtalinu, sem krefst ekki uppsetts gervi-FS /proc við ræsingu.
  • Bætti við timespec_getres fallinu, skilgreint í drögum að ISO C2X staðli, sem útvíkkar timespec_get fallinu með getu svipaða POSIX clock_getres fallinu.
  • Bætti við close_range() aðgerðinni, sem gerir ferli kleift að loka öllu úrvali opinna skráarlýsinga í einu. Aðgerðin er fáanleg á kerfum með Linux kjarna af að minnsta kosti útgáfu 5.9.
  • Bætt við aðgerðum closefrom og posix_spawn_file_actions_addclosefrom_np, sem gerir þér kleift að loka öllum skráarlýsingum í einu, en fjöldi þeirra er stærri en eða jafnt tilgreindu gildi.
  • Í stillingum "_DYNAMIC_STACK_SIZE_SOURCE" og "_GNU_SOURCE" eru PTHREAD_STACK_MIN, MINSIGSTKSZ og SIGSTKSZ ekki lengur fastar, sem gerir kleift að styðja við skráarsett með kraftmiklum stærðum eins og þeim sem eru í ARM SVE viðbótinni.
  • Tengillinn útfærir "--list-diagnostics" valkostinn til að birta upplýsingar sem tengjast IFUNC (óbein virkni) skilgreiningaraðgerðum og glibc-hwcaps undirskrárvali.
  • Fjölvi __STDC_WANT_IEC_60559_EXT__ hefur verið innleidd, hönnuð til að athuga tilvist aðgerða sem skilgreindar eru í viðauka F í ISO C2X forskriftinni.
  • Fyrir powerpc64* kerfi hefur „--disable-scv“ valmöguleikinn verið útfærður, sem gerir þér kleift að smíða glibc án þess að styðja scv leiðbeiningarnar.
  • Aðeins lágmarkssett af kjarna gconv einingum er eftir í gconv-modules skránni og restin er færð í viðbótarskrá gconv-modules-extra.conf, sem staðsett er í gconv-modules.d skránni.
  • Fyrir Linux pallinn er glibc.pthread.stack_cache_size færibreytan útfærð, sem hægt er að nota til að stilla stærð pthread stafla skyndiminni.
  • inet_neta fallið úr hausskránni hefur verið úrelt , auk ýmissa sjaldan notaðra aðgerða frá (dn_count_labels, fp_nquery, fp_query, fp_resstat, hostalias, loc_aton, loc_ntoa, p_cdname, p_cdnname, p_class, p_fqname, p_fqnname, p_option, p_query, p_rcode, res_time, res_host, put_short, p_ query, res_queriesmatch, res_randomid, sym_ntop , sym_ntos, sym_ston) og (ns_datetosecs, ns_format_ttl, ns_makecanon, ns_parse_ttl, ns_samedomain, ns_samename, ns_sprintrr, ns_sprintrrf, ns_subdomain). Í stað þessara aðgerða er mælt með því að nota aðskilin bókasöfn til að vinna með DNS.
  • Aðgerðirnar pthread_mutex_consistent_np, thread_mutexattr_getrobust_np, pthread_mutexattr_setrobust_np og pthread_yield hafa verið úreltar og ætti að nota pthread_mutex_consistent, thread_mutexattr_getrobust, hread_mutexattr. og sch_se_ í staðinn.
  • Hætti að nota táknræna tengla til að binda uppsetta hluti við Glibc útgáfuna. Slíkir hlutir eru nú settir upp eins og þeir eru (td libc.so.6 er nú skrá frekar en tengill á libc-2.34.so).
  • Sjálfgefið er að villuleitareiginleikar í malloc eru óvirkir, eins og MALLOC_CHECK_ (glibc.malloc.check), mtrace() og mcheck(), sem eru færðar í sérstakt bókasafn libc_malloc_debug.so, þar sem úreltu aðgerðir malloc_get_state og malloc_set_state hafa einnig verið flutt.
  • Á Linux þurfa aðgerðir eins og shm_open og sem_open nú að /dev/shm tækið virki.
  • Veikleikar lagaðir:
    • CVE-2021-27645: nscd (nafnaþjóns skyndiminni) ferlið hrynur vegna tvöföldu símtali í ókeypis aðgerðina þegar unnið er úr sérútbúnum nethópbeiðnum.
    • CVE-2021-33574: Aðgangur að þegar losað minnissvæði (nota-eftir-frjáls) í mq_notify aðgerðinni þegar SIGEV_THREAD tilkynningagerðin er notuð með þræðieiginleika sem önnur CPU skyldleikamaska ​​er stillt fyrir. Vandamálið gæti leitt til hruns, en ekki er hægt að útiloka aðra árásarmöguleika.
    • CVE-2021-35942: Stærðarflæði færibreytu í wordexp aðgerðinni getur valdið því að forritið hrynji.

Heimild: opennet.ru

Bæta við athugasemd