Hiljuti teatati Glibc 2.34 uue versiooni väljaandmisest mis saabub pärast kuue kuu pikkust arendamist ja milles on tehtud mitmeid üsna olulisi muudatusi, sealhulgas libpthread, libdl, libutil ja libanl raamatukogude kaasamine, samuti mitmesugused veaparandused, millest üks põhjustas blokeeringuid.
Neile, kes ei tunne Glibci, peaksid nad teadma, mis see on GNU C raamatukogu, üldtuntud kui glibc on standardne GNU C käitusaegne teek. Süsteemides, kus seda kasutatakse, see C raamatukogu pakub ja määratleb süsteemikõnesid ja muid põhifunktsioone, seda kasutavad peaaegu kõik programmid.
Glibc 2.34 peamised uued funktsioonid
Selles Glibc 2.34 uues versioonis on see esitatud libpthread, libdl, libutil ja libanl on integreeritud põhiteeki, selle funktsionaalsuse kasutamine rakendustes ei vaja enam nende sidumist lippudega -lpthread, -ldl, -lutil ja -lanl.
Lisaks mainitakse seda on tehtud ettevalmistusi libreolvi integreerimiseks libc -sse, millega integratsioon võimaldab sujuvamat värskendusprotsessi ja see lihtsustab käitusaja rakendamist ning on saadaval ka tükkide teegid, mis ühilduvad glibci varasemate versioonidega loodud rakendustega.
Muudatused keskendusid Linuxile Glibc 2.34 tõstab esile lisatud võimalus kasutada konfiguratsioonides 64 -bitist time_t tüüpi et traditsiooniliselt kasutati tüüpi time_t 32 bitti. See funktsioon on saadaval ainult süsteemides, kus on kernel 5.1 ja uuem.
Teine konkreetne muudatus Linuxi jaoks on execveat funktsiooni rakendamineEt võimaldab käivitada käivitatava faili avatud failide kirjeldusest. Uut funktsiooni kasutatakse ka fexecve kõne rakendamisel, mis ei nõua / proc pseudo-failisüsteemi paigaldamist käivitamisel.
Lisati ka funktsioon close_range (), mis on saadaval Linuxi versioonidele 5.9 ja kõrgem ning mis võib olla kasutatakse protsessi täielikuks failikirjelduste sulgemiseks avatud samal ajal, lisaks on rakendatud ka parameeter glibc.pthread.stack_cache_size, mille abil saab reguleerida pthread virna vahemälu suurust.
Lisaks lisatud _Fork funktsioon, asendaja funktsiooni jaoks kahvel mis vastab "asünkroonsignaali turvalisuse" nõuetele, mis tähendab, et seda saab ohutult helistada signaalitöötlejatelt. _Forki täitmise ajal moodustub minimaalne keskkond, mis on piisav signaalitöötlejate funktsioonide, näiteks tõstmise ja käivitamise kutsumiseks, ilma funktsioone kasutamata, mis võivad lukke või sisemist olekut muuta.
Glibc 2.34 parandatud turvaaukude osas on mainitud järgmist.
CVE-2021-27645: Nscd -protsess (nimeserveri vahemällu salvestamise deemon) ebaõnnestus tasuta funktsiooni topeltkõne tõttu spetsiaalselt loodud võrgugrupi taotluste töötlemisel.
CVE-2021-33574: juurdepääs mälupiirkonnale, mis on funktsioonis mq_notify juba vabastatud (ilma kasutamiseta), kui kasutate teatistüüpi SIGEV_THREAD koos lõimeatribuudiga, mille jaoks on seatud alternatiivne protsessori sidumismask. Probleem võib põhjustada krahhi, kuid muud rünnakuvõimalused pole välistatud.
CVE-2021-35942: Parameetri suuruse ületäitumine funktsioonis wordexp võib rakenduse kokku kukkuda.
Muudest muudatustest mis paistavad silma:
- Funktsioon timespec_getres, mis on määratletud ISO C2X standardi eelnõus, on lisatud ja funktsiooni timespec_get on suurendatud funktsioonidega POSIX clock_getres.
- Failis gconv-modules oli alles vaid minimaalne peamiste gconv-moodulite komplekt ja ülejäänud viidi täiendavasse gconv-modules-extra.conf faili, mis asub kataloogis gconv-modules.d
- Sümboolsete linkide kasutamine installitavate jagatud objektide linkimiseks Glibci versiooniga on eemaldatud. Need objektid on nüüd installitud sellisena, nagu need on (nt libc.so.6 on nüüd fail, mitte link failile libc-2.34.so).
- Linuxis vajavad sellised funktsioonid nagu shm_open ja sem_open nüüd ühismälu failisüsteemi, mis on paigaldatud / dev / shm kinnituspunkti.
Lõpuks kui olete huvitatud sellest rohkem teada saama selle uue versiooni saate kontrollida üksikasjad järgmisel lingil.