äskettäin Glibc 2.34: n uuden version julkaisu julkistettiin joka tulee kuuden kuukauden kehityksen jälkeen ja johon on tehty useita varsin tärkeitä muutoksia, kuten libpthread-, libdl-, libutil- ja libanl -kirjastojen sisällyttäminen sekä erilaisia virheenkorjauksia, joista yksi aiheutti tukoksia.
Niille, jotka eivät tunne Glibcia, heidän pitäisi tietää, mikä se on GNU C -kirjasto, yleisesti tunnettu nimellä glibc on GNU C: n vakioaikainen kirjasto. Järjestelmissä, joissa sitä käytetään, tämä C -kirjasto tarjoaa ja määrittelee järjestelmäkutsut ja muut perustoiminnot, sitä käyttävät lähes kaikki ohjelmat.
Glibc 2.34: n tärkeimmät uudet ominaisuudet
Tässä uudessa Glibc 2.34 -versiossa, joka esitetään libpthread, libdl, libutil ja libanl on integroitu pääkirjastoonSen toiminnallisuuden käyttäminen sovelluksissa ei enää vaadi niiden sitomista -lpthread-, -ldl-, -lutil- ja -lanl -lipuilla.
Lisäksi mainitaan, että libreolvin integrointi libc: hen on valmisteltu, joiden kanssa integraatio mahdollistaa sujuvamman glibc -päivitysprosessin ja se yksinkertaistaa ajonaikaista käyttöönottoa, ja tynkikirjastot ovat myös yhteensopivia aiempien glibc -versioiden kanssa rakennettujen sovellusten kanssa.
Muutoksissa keskityttiin Linuxiin Glibc 2.34 korostaa lisätty mahdollisuus käyttää 64 -bittistä time_t -tyyppiä asetuksissa joka perinteisesti käytti time_t -tyyppiä 32 bittiä. Tämä ominaisuus on käytettävissä vain järjestelmissä, joissa on ydin 5.1 tai uudempi.
Toinen erityinen muutos Linuxille on execveat -toiminnon toteuttaminenEttä mahdollistaa suoritettavan tiedoston suorittamisen avoimen tiedoston kuvaajalla. Uutta toimintoa käytetään myös toteutettaessa fexecve-kutsua, joka ei vaadi / proc-pseudo-tiedostojärjestelmän asennusta käynnistyksen yhteydessä.
Toiminto on myös lisätty close_range (), joka on saatavana Linux -versioille 5.9 ja korkeampi ja mikä voi olla käytetään prosessin sulkemiseen täyden valikoiman tiedostojen kuvaajia avataan samaan aikaan, lisäksi toteutetaan parametri glibc.pthread.stack_cache_size, jolla voidaan säätää pthread -pino -välimuistin kokoa.
Lisäksi, lisätty _Fork -toiminto, korvaava toiminnolle haarukka joka täyttää "asynkronisen signaalin turvallisen" vaatimukset, eli se voidaan kutsua turvallisesti signaalinkäsittelijöiltä. _Fork -suorituksen aikana muodostuu minimaalinen ympäristö, joka riittää kutsumaan toimintoja signaalinkäsittelijöissä, kuten kohottaminen ja suorittaminen, kutsumatta toimintoja, jotka voivat muuttaa lukkoja tai sisäistä tilaa.
Glibc 2.34: ssä korjattujen haavoittuvuuksien osalta mainitaan seuraavat:
CVE-2021-27645: Nscd -prosessi (nimipalvelimen välimuistin demoni) epäonnistui kaksinkertaisen kutsun vuoksi ilmaiselle toiminnolle, kun käsiteltiin erityisesti muotoiltuja verkkoryhmäpyyntöjä.
CVE-2021-33574: pääsy muistialueelle, joka on jo vapautettu (käyttö jälkikäteen) mq_notify-toiminnossa, kun käytetään SIGEV_THREAD-ilmoitustyyppiä säieattribuutin kanssa, jolle on asetettu vaihtoehtoinen suorittimen sitomismaski. Ongelma voi aiheuttaa kaatumisen, mutta muita hyökkäysvaihtoehtoja ei suljeta pois.
CVE-2021-35942: Parametrikoon ylivuoto wordexp -toiminnossa voi kaataa sovelluksen.
Muista muutoksista jotka erottuvat:
- ISO C2X -standardiluonnoksessa määritelty timespec_getres -funktio on lisätty ja timespec_get -toimintoa on lisätty POSIX clock_getres -toiminnon kaltaisilla ominaisuuksilla.
- Gconv-modules-tiedostossa oli vain vähäinen joukko tärkeimpiä gconv-moduuleja, ja loput siirrettiin ylimääräiseen gconv-modules-extra.conf-tiedostoon, joka sijaitsee hakemistossa gconv-modules.d
- Symbolisten linkkien käyttö asennettavien jaettujen objektien linkittämiseen Glibc -versioon on poistettu. Nämä objektit on nyt asennettu sellaisinaan (esim. Libc.so.6 on nyt tiedosto eikä linkki libc-2.34.so-tiedostoon).
- Linuxissa shm_open ja sem_open -toiminnot edellyttävät nyt tiedostojärjestelmää jaetulle muistille, joka on asennettu / dev / shm -kiinnityspisteeseen.
Vihdoin jos olet kiinnostunut tietämään siitä lisää tämän uuden version, voit tarkistaa yksityiskohdat seuraavassa linkissä.