Глибц 2.34 стиже са исправкама рањивости, новим функцијама за Линук и још много тога

Недавно је најављено издање нове верзије Glibc 2.34. Стиже након шест месеци развоја и укључује неколико важних промена, од којих је најзначајнија укључивање библиотека libpthread, libdl, libutil и libanl, као и разне исправке грешака, од којих је једна изазивала падове система.

За оне који нису упознати са Glibc-ом, то је GNU C библиотека, позната као glibc, и стандардна је библиотека за извршавање GNU C језика. На системима где се користи, ову C библиотеку, која пружа и дефинише системске позиве и друге основне функције, користе скоро сви програми.

Главне нове карактеристике Глибца 2.34

У овој новој верзији Glibc 2.34, главне библиотеке libpthread, libdl, libutil и libanl су интегрисане ; коришћење њихове функционалности у апликацијама више не захтева њихово повезивање са индикаторима -lpthread, -ldl, -lutil и -lanl.

Штавише, помиње се да су направљене припреме за интеграцију libresolv-а у libc, што ће омогућити лакши процес надоградње glibc-а и поједноставити имплементацију током извршавања. Такође су обезбеђене и „stub“ библиотеке ради компатибилности са апликацијама направљеним коришћењем ранијих верзија glibc-а.

Међу променама усмереним на Линукс у Glibc 2.34, најзначајнија је додата могућност коришћења 64-битног типа time_t у конфигурацијама које су традиционално користиле 32-битни тип time_t . Ова функција је доступна само на системима са верзијом језгра 5.1 и новијом.

Још једна промена специфична за Линукс је имплементација функције `execveat` , која вам омогућава да извршите извршну датотеку из отвореног дескриптора датотеке . Ова нова функција се такође користи у имплементацији позива `fexecve`, који не захтева монтирање псеудо-датотечног система `/proc` при покретању.

Такође је додата функција close_range(), која је доступна за Линукс верзије 5.9 и новије и може се користити да омогући процесу да затвори читав низ отворених дескриптора датотека одједном. Поред тога, имплементиран је параметар glibc.pthread.stack_cache_size, који се може користити за подешавање величине кеш меморије pthread стека.

Штавише, додата је функција `_Fork`, замена за функцију `fork` која испуњава захтеве „async-signal-safe“, што значи да се може безбедно позивати из обрађивача сигнала. Током извршавања `_Fork`, формира се минимално окружење, довољно за позивање функција у обрађивачима сигнала као што су `raise` и `execute`, без позивања функција које би могле да промене закључавања или унутрашње стање.

За део рањивости поправљених у Глибц 2.34, помињу се следеће:

CVE-2021-27645: грешка процеса nscd (демон кеширања имена сервера) због двоструког позива функције free током обраде посебно креираних захтева за мрежну групу.

CVE-2021-33574: Приступ меморијском подручју које се користи након ослобађања у функцији mq_notify при коришћењу типа обавештења SIGEV_THREAD са атрибутом нити за који је подешена алтернативна маска повезивања процесора. Овај проблем може изазвати пад система, али друге опције напада нису искључене.

CVE-2021-35942: Прекорачење величине параметра у функцији wordexp може довести до пада апликације.

Остале значајне промене укључују:

  • Додана је функција тимеспец_гетрес, дефинисана у нацрту ИСО Ц2Кс стандарда, а функција тимеспец_гет је повећана могућностима сличним функцији ПОСИКС цлоцк_гетрес.
  • У датотеци гцонв-модулес остао је само минимални скуп главних гцонв модула, а остали су премештени у додатну датотеку гцонв-модулес-ектра.цонф која се налази у директоријуму гцонв-модулес.д.
  • Уклоњена је употреба симболичких веза за повезивање инсталираних дијељених објеката с верзијом Глибц. Ови објекти су сада инсталирани такви какви јесу (нпр. Либц.со.6 је сада датотека, а не веза до либц-2.34.со).
  • На Линуку, функције попут схм_опен и сем_опен сада захтевају систем датотека за дељену меморију монтирану на / дев / схм тачки монтирања.

Коначно, ако сте заинтересовани да сазнате више о овој новој верзији, детаље можете пронаћи на следећем линку.


Додај као жељени извор на Гуглу