SĂŒsteemi teegi Glibc 2.34 vĂ€ljaanne

PĂ€rast kuuekuulist arendust on avaldatud sĂŒsteemiteegi GNU C Library (glibc) versioon 2.34, mis vastab tĂ€ielikult ISO C11 ja POSIX.1-2017 standardite nĂ”uetele. Uue vĂ€ljalaske koosseisus on parandused 66 arendajalt.

Glibc 2.34 teostatud tÀiustustest vÔib mÀrkida:

  • Libc pĂ”hikoosseisu on integreeritud raamatukogud libpthread, libdl, libutil ja libanl, mille funktsionaalsuse kasutamine rakendustes ei nĂ”ua enam sidumist lipukestega -lpthread, -ldl, -lutil ja -lanl. Valmistatud on ette integraatsioon libresolv'i libc. Integraatsioon vĂ”imaldab saavutada sujuvamat glibc uuendamisprotsessi ning lihtsustab tĂ€itmise rakendust. Tagamaks, et oleks tagasiside ĂŒhilduvust rakendustega, mis on loodud vanemate glibc versioonidega, on pakutud stub-raamatukogusid. Antud glibc-s pakutavate struktuuride ja funktsioonide arvu suurenemise tĂ”ttu vĂ”ivad rakendustes esineda probleemid, kus toimub nimede kattuvus varasemalt kasutamata raamatukogude libpthread, libdl, libutil, libresolv ja libanl vahel.
  • 64-bit time_t tĂŒĂŒbi kasutamise vĂ”imalus on lisatud konfiguratsioonidesse, kus traditsiooniliselt kasutati 32-bitist time_t. Sellistes konfiguratsioonides, nagu nĂ€iteks x86 sĂŒsteemides, jÀÀb vaikimisi 32-bitine time_t, kuid seda kĂ€itumist on vĂ”imalik nĂŒĂŒd muuta makro „_TIME_BITS“ abil. See vĂ”imalus on saadaval ainult Linuxi kernelitega, mille versioon on vĂ€hemalt 5.1.
  • _Fork funktsioon on lisatud, asendades fork funktsiooni, mis vastab „async-signal-safe“ nĂ”uetele, st seda saab ohutult kutsuda signaalide töötlejates. _Fork tĂ€itmise kĂ€igus luuakse minimaalne keskkond, mis on piisav funktsioonide kutsumiseks signaalide töötlejates, nagu raise ja execve, ilma, et oleksid kaasatud vĂ”imalused, mis vĂ”ivad pĂ”hjustada lukustuste vĂ”i sisemise oleku muutust. _Forki kutsumine mÀÀratletakse tulevases POSIX standardi versioonis, kuid on praegu GNU laienduste hulgas.
  • Linux platvormil on realiseeritud execveat funktsioon, mis vĂ”imaldab kĂ€ivitada binÀÀrfaili avatud failikĂ€sitsi. Uut funktsiooni kasutatakse ka fexecve sĂŒsteemkĂ”ne realiseerimisel, mis ei nĂ”ua kĂ€ivitamisel kĂ”igi manustatud pseduo-failisĂŒsteemide /proc olemasolu.
  • Lisatud funktsioon timespec_getres, mis on mÀÀratletud ISO C2X standardi mustandis ja tĂ€iendab funktsiooni timespec_get, omades sarnaseid vĂ”imalusi nagu POSIX funktsioon clock_getres.
  • Lisatud funktsioon close_range(), mis vĂ”imaldab protsessil korraga sulgeda terve vahemiku avatud failikĂ€sitse. Funktsioon on saadaval Linuxi kerneliga sĂŒsteemides, mille versioon on vĂ€hemalt 5.9.
  • Lisatud funktsioonid closefrom ja posix_spawn_file_actions_addclosefrom_np, mis vĂ”imaldavad korraga sulgeda kĂ”ik failikĂ€sitsed, mille number on suurem vĂ”i vĂ”rdne mÀÀratud vÀÀrtusega.
  • ReĆŸiimides „_DYNAMIC_STACK_SIZE_SOURCE“ ja „_GNU_SOURCE“ vÀÀrtused PTHREAD_STACK_MIN, MINSIGSTKSZ ja SIGSTKSZ ei ole enam konstandid, mis vĂ”imaldab toetada dĂŒnaamilise suurusega registrikomplekte, nagu pakutud ARM SVE laienduses.
  • Komponendis on realiseeritud valik „—list-diagnostics”, et tulemustes kuvada IFUNC (indirect function) mÀÀramise ja glibc-hwcaps alamkatalooge valimisega seotud teavet.
  • On realiseeritud makro __STDC_WANT_IEC_60559_EXT__, mis on mĂ”eldud ISO C2X spetsifikatsiooni rakenduses „F” mÀÀratletud funktsioonide olemasolu kontrollimiseks.
  • Powerpc64* sĂŒsteemide jaoks on realiseeritud valik „—disable-scv”, mis vĂ”imaldab koguda glibc-d ilma scv kĂ€su toeta.
  • Failis gconv-modules on jĂ€etud alles vaid minimaalne hulk pĂ”hilisi gconv mooduleid, samas kui ĂŒlejÀÀnud on viidud eraldi faili gconv-modules-extra.conf, mis asub kaustas gconv-modules.d.
  • Linuxi platvormile on realiseeritud parameeter glibc.pthread.stack_cache_size, mida saab kasutada pthreadi stack'i vahekĂ€gu suuruse seadistamiseks.
  • Funktsioon inet_neta on kuulutatud aegunuks, samuti erinevad harva kasutatavad funktsioonid failist (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 failist (ns_datetosecs, ns_format_ttl, ns_makecanon, ns_parse_ttl, ns_samedomain, ns_samename, ns_sprintrr, ns_sprintrrf, ns_subdomain). Soovitatakse kasutada eraldi teeke DNSi töötlemiseks.
  • Aegunuks on kuulutatud funktsioonid pthread_mutex_consistent_np, thread_mutexattr_getrobust_np, pthread_mutexattr_setrobust_np ja pthread_yield, nende asemel tuleks kasutada pthread_mutex_consistent, thread_mutexattr_getrobust, thread_mutexattr_setrobust ja sched_yield.
  • SĂŒmboolsete lingide kasutamine, et siduda installitavaid jagatud objekte Glibci versiooniga, on lĂ”petatud. Sellised objektid installitakse nĂŒĂŒd nagu nad on (nĂ€iteks libc.so.6 on nĂŒĂŒd fail, mitte link libc-2.34.so).
  • Vaikimisi on malloc'i silumisvĂ”imeid, nagu MALLOC_CHECK_ (glibc.malloc.check), mtrace() ja mcheck(), keelatud. Need on viidud eraldi teeki libc_malloc_debug.so, kuhu on viidud ka vananenud funktsioonid malloc_get_state ja malloc_set_state.
  • Linuxis on nĂŒĂŒd nĂ”utav, et shm_open ja sem_open funktsioonide toimimiseks oleks seade /dev/shm.
  • Turbeteated:
    • CVE-2021-27645: nscd (nimeteenuse vahemĂ€lu deemon) protsessi kokkuvarisemine kahekordse free-funktsiooni kutsumise tĂ”ttu, kui töödeldakse spetsiaalselt kujundatud netgroupi pĂ€ringuid.
    • CVE-2021-33574: juba vabastatud mĂ€lu alale (use-after-free) juurdepÀÀs mq_notify funktsioonis, kui kasutatakse SIGEV_THREAD tĂŒĂŒpi teavituste ja CPU-l sidumise alternatiivset maski omava lĂ”ime. Probleem vĂ”ib pĂ”hjustada kokkuvarisemise, kuid ei saa vĂ€listada ka muid rĂŒnnakuvorme.
    • CVE-2021-35942: parameetri suuruse ĂŒlevool funktsioonis wordexp vĂ”ib pĂ”hjustada rakenduse kokkuvarisemise.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster