Glibc 2.34 sĂŒsteemiteegi vĂ€ljalase

PĂ€rast kuue kuu arendust on vĂ€lja antud sĂŒsteemiteegi GNU C Library (glibc) 2.34 versioon, mis jĂ€rgib tĂ€ielikult ISO C11 ja POSIX.1-2017 standardite nĂ”udeid. Uue vĂ€ljaande koosseisu kuuluvad parandused 66 arendajalt.

Glibc 2.34 ellu viidud tÀiustustest tasub mainida:

  • Libc pĂ”hikoosseisu on integreeritud teegid libpthread, libdl, libutil ja libanl, mille funktsionaalsuse kasutamine rakendustes ei nĂ”ua edaspidi sidumist lipu -lpthread, -ldl, -lutil ja -lanl abil. On tehtud ettevalmistusi libresolv integreerimiseks libc-sse. Integreerimine vĂ”imaldab saavutada glibc uuendamise protsessi sujuvamat kulgu ja lihtsustab runtime'i rakendamist. Vanade glibc versioonidega kokkulepivu tagamiseks on antud vĂ€lja pealtkaudsed teegid. Suurenevate glibc-struktuuride ja -funktsioonide tĂ”ttu ei ole vĂ€listatud probleeme rakendustes, kus nimed kattuvad varem kasutamata teegidega libpthread, libdl, libutil, libresolv ja libanl.
  • On lisatud vĂ”imalus kasutada 64-bitise time_t tĂŒĂŒpi konfiguratsioonides, kus traditsiooniliselt on kasutatud 32-bitist time_t tĂŒĂŒpi. Sellistes konfiguratsioonides, nagu nĂ€iteks x86 sĂŒsteemides, jÀÀb vaikimisi kasutusele 32-bitine time_t, kuid seda kĂ€itumist on nĂŒĂŒd vĂ”imalik muuta makro "_TIME_BITS" abil. See vĂ”imalus on saadaval ainult Linuxi sĂŒdamike korral, mille versioon on vĂ€hemalt 5.1.
  • On lisatud funktsioon _Fork, mis asendab funktsiooni fork ja vastab standardile "async-signal-safe", st vĂ”imaldab ohutut kutsumist signaalide töötlejate seest. _Fork protsessi kĂ€igus luuakse minimaalne keskkond, mis on piisav signaalide töötlejates nagu raise ja execve funktsioonide kutsumiseks, ilma et kaasataks vĂ”imalusi, mis vĂ”ivad pĂ”hjustada lukustuste vĂ”i siseseisundi muutumist. _Forki kutsumine mÀÀratletakse tulevases POSIX standardi versioonis, aga praegu on see GNU laienduste hulka lisatud.
  • Linuxi platvormile on rakendatud funktsioon execveat, mis vĂ”imaldab tĂ€idetava faili kĂ€ivitamist avatud failideskriptorist. Uut funktsiooni kasutatakse samuti fexecve kutsumise rakendamisel, mis ei nĂ”ua kĂ€ivitamisel kinnitatud vale-FS /proc olemasolu.
  • Lisatud on funktsioon timespec_getres, mis on mÀÀratletud ISO C2X standardi eelnĂ”us ja tĂ€iendab funktsiooni timespec_get, andes sellele sarnaseid vĂ”imalusi nagu POSIX-funktsioon clock_getres.
  • Lisatud on funktsioon close_range(), mis vĂ”imaldab protsessil korraga sulgeda terve vahemiku avatud failikirjeid. Funktsioon on saadaval Linuxi tuumaga sĂŒsteemides, mille versioon on vĂ€hemalt 5.9.
  • Lisatud on funktsioonid closefrom ja posix_spawn_file_actions_addclosefrom_np, mis vĂ”imaldavad korraga sulgeda kĂ”ik failikirjed, mille numbrid on suuremad vĂ”i vĂ”rdsed mÀÀratud vÀÀrtusega.
  • ReĆŸiimides „_DYNAMIC_STACK_SIZE_SOURCE” ja „_GNU_SOURCE” ei ole vÀÀrtused PTHREAD_STACK_MIN, MINSIGSTKSZ ja SIGSTKSZ enam konstandid, mis vĂ”imaldab toetada dĂŒnaamilise suurusega registerkomplekte, nĂ€iteks ARM SVE laienduses pakutavaid.
  • Linkerisse on lisatud valik „—list-diagnostics”, et kuvada teavet, mis on seotud IFUNC (kaudne funktsioon) mÀÀramise ja glibc-hwcaps alamkausta valimise toimingutega.
  • Tehtud on makro __STDC_WANT_IEC_60559_EXT__, mis on mĂ”eldud ISO C2X spetsifikatsiooni rakenduses „F” mÀÀratletud funktsioonide olemasolu kontrollimiseks.
  • Powerpc64* sĂŒsteemidele on rakendatud valik „—disable-scv”, mis vĂ”imaldab glibci koguda ilma scv kĂ€su toeta.
  • Failis gconv-modules on jĂ€etud ainult pĂ”hivĂ”imaluste minimaalne komplekt, samas kui ĂŒlejÀÀnud on kantud eraldi faili gconv-modules-extra.conf, mis asub kataloogis gconv-modules.d.
  • Linuxi platvormil on rakendatud parameeter glibc.pthread.stack_cache_size, mida saab kasutada pthread-i virna vahemiku suuruse seadistamiseks.
  • Funktsioon inet_neta, mis on mÀÀratletud failis <arpa/inet.h>, on kuulutatud aegunud, samuti mitmed harva kasutatavad funktsioonid failist <resolv.h> (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, p_time, p_type, putlong, putshort, res_hostalias, res_isourserver, res_nameinquery, res_queriesmatch, res_randomid, sym_ntop, sym_ntos, sym_ston) ja <arpa/nameser.h> (ns_datetosecs, ns_format_ttl, ns_makecanon, ns_parse_ttl, ns_samedomain, ns_samename, ns_sprintrr, ns_sprintrrf, ns_subdomain). Nende funktsioonide asemel on soovitatav kasutada eraldi teeki DNS-iga töötamiseks.
  • Funktsioonid pthread_mutex_consistent_np, thread_mutexattr_getrobust_np, pthread_mutexattr_setrobust_np ja pthread_yield on kuulutatud aegunud ning nende asemel tuleks kasutada pthread_mutex_consistent, thread_mutexattr_getrobust, thread_mutexattr_setrobust ja sched_yield.
  • SĂŒmboolsete linkide kasutamine Glibc versiooniga installitud jagatud objektide sidumiseks on lĂ”petatud. Sellised objektid paigaldatakse nĂŒĂŒd nii, nagu nad on (nĂ€iteks libc.so.6 on nĂŒĂŒd fail, mitte link libc-2.34.so-le).
  • Vaikimisi on mallocis vĂ€ljakutsumisvĂ”imalused, nagu MALLOC_CHECK_ (glibc.malloc.check), mtrace() ja mcheck(), vĂ€lja lĂŒlitatud ja need on viidud eraldi teeki libc_malloc_debug.so, kuhu on samuti kolitud vananenud funktsioonid malloc_get_state ja malloc_set_state.
  • Linuxis on funktsioonide nagu shm_open ja sem_open töötamiseks nĂŒĂŒd vajalik seade /dev/shm.
  • Turbepuudused on kĂ”rvaldatud:
    • CVE-2021-27645: protsessi nscd (nameserver caching daemon) kokkuvarisemine kahekordse free-kutse tĂ”ttu, kui töödeldakse spetsiaalselt vormindatud netgroup-pĂ€ringuid.
    • CVE-2021-33574: juba vabastatud mĂ€lu ala kasutamine (use-after-free) funktsioonis mq_notify, kui kasutatakse SIGEV_THREAD tĂŒĂŒpi teateid, millel on töötluse alternatiivne CPU kinnihoidmise mask. Probleem vĂ”ib pĂ”hjustada kokkuvarisemise, kuid ei vĂ€listata ka muid rĂŒnnakute vĂ”imalusi.
    • CVE-2021-35942: parameetri suuruse ĂŒletĂ€itumine funktsiooni wordexp juures vĂ”ib viia rakenduse kokkuvarisemiseni.

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