Издание на системска библиотека на Glibc 2.32

По шест месеци развој објавено издавање на системска библиотека GNU C библиотека (glibc) 2.32, што целосно ги исполнува барањата на ISO C11 и POSIX.1-2017. Новото издание вклучува поправки од 67 програмери.

Имплементиран во Глибц 2.32 подобрувања може да забележите:

  • Додадена е поддршка за Synopsys ARC HS (ARCv2 ISA) процесори. Портот бара најмалку binutils 2.32, gcc 8.3 и јадрото. Linux 5.1. Поддржани се три ABI варијанти: arc-linux-gnu, arc-linux-gnuhf и arceb-linux-gnu (big-endian);
  • Вчитување на модулите за ревизија наведени во деловите DT_AUDIT и
    DT_DEPAUDIT на извршната датотека.
  • За архитектурата powerpc64le, имплементирана е поддршка за долгиот двоен тип IEEE128, што е овозможено при градење со опцијата „-mabi=ieeelongdouble“.
  • Некои API се означени со атрибутот „пристап“ на GCC, што овозможува да се генерираат подобри предупредувања кога се компајлираат во GCC 10 за да се детектираат можни прелевања на баферот и други сценарија надвор од границите.
  • За Linux-системите ги имплементираа функциите pthread_attr_setsigmask_np и
    pthread_attr_getsigmask_np, кои и даваат на апликацијата можност да одреди сигнална маска за нишки создадени со помош на pthread_create.
  • Податоците за кодирање, информациите за типот на знаци и табелите за транслитерација се ажурирани за да ја поддржат спецификацијата Unicode 13.0.0;
  • Додадена е нова датотека за заглавие , која ја дефинира променливата __libc_single_threaded, која може да се користи во апликации за оптимизации со една нишка.
  • Додадени функции sigabbrev_np и sigdescr_np кои го враќаат скратеното име и описот на сигналот (на пример, „HUP“ и „Hangup“ за SIGHUP).
  • Додадени функции strerrorname_np и strerrordesc_np кои го враќаат името и описот на грешката (на пример, „EINVAL“ и „Неважечки аргумент“ за EINVAL).
  • За платформата ARM64, додадено е знаменце „--enable-standard-branch-protection“ (или -mbranch-protection=standard во GCC), што му овозможува на механизмот ARMv8.5-BTI (Branch Target Indicator) да го заштити извршување на множества со инструкции кои не треба да се извршуваат.разгранување транзиции. Блокирањето на транзициите кон произволни делови од кодот се спроведува за да се спречи создавање гаџети во експлоатирања кои користат техники за програмирање ориентирани кон враќање (ROP - програмирање ориентирано кон враќање; напаѓачот не се обидува да го стави својот код во меморијата, туку работи на веќе постоечки парчиња на машински инструкции кои завршуваат со инструкција за контрола на враќање, од која се гради синџир на повици за да се добие саканата функционалност).
  • Извршено е големо чистење на застарените функции, вклучително и отстранување на опциите „--enable-obsolete-rpc“ и „--enable-forsolete-nsl“, заглавината датотека . Функциите sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore и sigset, низите sys_siglist, _sys_siglist и sys_sigabbrev, симболите sys_errlist, _sys_errlist, sys_nerr и _sys_SSsprecat he се изведени и N.
  • ldconfig стандардно е преместен за да го користи новиот формат ld.so.cache, кој е поддржан во glibc речиси 20 години.
  • Поправени пропусти:
    • CVE-2016-10228 – Јамка во алатката iconv се појавува кога се извршува со опцијата „-c“ кога се обработуваат неточни податоци од повеќе бајти.
    • CVE-2020-10029 Ставете ја корупцијата при повикување тригонометриски функции со псевдо-нулти аргумент.
    • CVE-2020-1752 - Мемориски пристап до употреба после бесплатно во функцијата глоб кога се проширува референцата до домашниот директориум („~user“) во патеките.
    • CVE-2020-6096 – Неправилно ракување на платформата ARMv7 со вредности на негативни параметри во memcpy() и memmove(), што ја одредува големината на копираната област. Овозможува организирајте извршување на кодот кога обработувате податоци форматирани на одреден начин во функциите memcpy() и memmove(). Значајно е дека проблемот остана некорегирана речиси два месеци откако информацијата беше јавно обелоденета и пет месеци откако програмерите на Glibc беа известени.

Извор: opennet.ru

Купете доверлив хостинг за сајтови со DDoS заштита, VPS VDS сервери 🔥 Купете сигурен веб-хостинг со DDoS заштита, VPS VDS сервери | ProHoster