Glibc 2.32 sistēmas bibliotēkas laidiens

Pēc sešu mēnešu attīstības publicēta sistēmas bibliotēkas izlaidums GNU C bibliotēka (glibc) 2.32, kas pilnībā atbilst ISO C11 un POSIX.1-2017 standartu prasībām. Jaunajā laidienā ir iekļauti 67 izstrādātāju labojumi.

No tiem, kas ieviesti Glibc 2.32 uzlabojumi Jūs varat atzīmēt:

  • Pievienots atbalsts Synopsys ARC HS (ARCv2 ISA) procesoriem. Portam ir nepieciešams vismaz binutils 2.32, gcc 8.3 un Linux kodols 5.1. Tiek atbalstīti trīs ABI varianti: arc-linux-gnu, arc-linux-gnuhf un arceb-linux-gnu (big-endian);
  • Sadaļās DT_AUDIT un norādīto audita moduļu ielāde
    Izpildāmā faila DT_DEPAUDIT.

  • Powerpc64le arhitektūrai ir ieviests IEEE128 garā dubultā tipa atbalsts, kas ir iespējots, veidojot ar opciju “-mabi=ieeelongdouble”.
  • Dažas API ir anotētas ar GCC piekļuves atribūtu, kas ļauj ģenerēt labākus brīdinājumus, kad tās tiek apkopotas GCC 10, lai noteiktu iespējamos bufera pārpildes un citus ārpus robežu scenārijus.
  • Linux sistēmām funkcijas pthread_attr_setsigmask_np un
    pthread_attr_getsigmask_np, kas dod lietojumprogrammai iespēju norādīt signāla masku pavedieniem, kas izveidoti, izmantojot pthread_create.

  • Kodēšanas dati, rakstzīmju veida informācija un transliterācijas tabulas ir atjauninātas, lai atbalstītu Unicode 13.0.0 specifikāciju;
  • Pievienots jauns galvenes fails , kas definē mainīgo __libc_single_threaded, ko var izmantot viena pavediena optimizācijas lietojumprogrammās.
  • Pievienotas funkcijas sigabbrev_np un sigdescr_np, kas atgriež saīsinātu signāla nosaukumu un aprakstu (piemēram, “HUP” un “Hangup” SIGHUP).
  • Pievienotas funkcijas strerrorname_np un strerrordesc_np, kas atgriež kļūdas nosaukumu un aprakstu (piemēram, "EINVAL" un "Nederīgs arguments" EINVAL).
  • ARM64 platformai ir pievienots karodziņš "--enable-standard-branch-protection" (vai -mbranch-protection=standarts GCC), kas ļauj ARMv8.5-BTI (Branch Target Indicator) mehānismam aizsargāt tādu instrukciju kopu izpilde, kuras nevajadzētu izpildīt.zarojuma pārejas. Pāreju uz patvaļīgām koda sadaļām bloķēšana tiek ieviesta, lai novērstu sīkrīku izveidi ekspluatācijās, kurās tiek izmantotas uz atdevi orientētas programmēšanas metodes (ROP — uz atgriešanos orientēta programmēšana; uzbrucējs nemēģina ievietot savu kodu atmiņā, bet darbojas ar jau esošajām daļām). mašīnas instrukcijas, kas beidzas ar atgriešanas vadības instrukciju, no kuras tiek veidota zvanu ķēde, lai iegūtu vēlamo funkcionalitāti).
  • Tika veikta liela novecojušo līdzekļu tīrīšana, ieskaitot opciju “--enable-obsolete-rpc” un “--enable-obsolete-nsl” galvenes faila noņemšanu. . Funkcijas sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore un sigset, masīvus sys_siglist, _sys_siglist un sys_sigabbrev, simboli sys_errlist, _sys_errlist, N modulated the hepreciated the precsi_yssner un hepreced.
  • ldconfig pēc noklusējuma ir pārvietots, lai izmantotu jauno ld.so.cache formātu, kas glibc tiek atbalstīts gandrīz 20 gadus.
  • Novērstas ievainojamības:
    • CVE-2016-10228 — cilpa utilītprogrammā iconv rodas, palaižot ar opciju “-c”, apstrādājot nepareizus vairāku baitu datus.
    • CVE-2020-10029 Grupas bojājumi, izsaucot trigonometriskās funkcijas ar pseido-null argumentu.
    • CVE-2020-1752 — izmantošana pēc brīvas atmiņas piekļuves funkcijai glob, paplašinot atsauci uz mājas direktoriju (“~user”) ceļos.
    • CVE-2020-6096 — ARMv7 platformas nepareiza apstrāde ar negatīvo parametru vērtībām memcpy() un memmove(), kas nosaka kopētā apgabala lielumu. Ļauj organizēt koda izpildi, apstrādājot datus, kas noteiktā veidā formatēti funkcijās memcpy() un memmove(). Zīmīgi, ka problēma palika nav labots gandrīz divus mēnešus kopš informācijas publiskas izpaušanas un piecus mēnešus kopš Glibc izstrādātāju paziņošanas.

Avots: opennet.ru

Pievieno komentāru