Publikimi i Bibliotekës së Sistemit Glibc 2.32

Pas gjashtë muajsh zhvillimi botuar lëshimi i bibliotekës së sistemit Biblioteka GNU C (glibc) 2.32, i cili përputhet plotësisht me kërkesat e ISO C11 dhe POSIX.1-2017. Publikimi i ri përfshin rregullime nga 67 zhvillues.

Zbatuar në Glibc 2.32 учшений ju mund të vini re:

  • Mbështetje e shtuar për procesorët Synopsys ARC HS (ARCv2 ISA). Porti kërkon të paktën binutils 2.32, gcc 8.3 dhe Linux kernel 5.1 për të ekzekutuar. Mbështeten tre variante ABI: arc-linux-gnu, arc-linux-gnuhf dhe arceb-linux-gnu (big-endian);
  • Ngarkimi i moduleve të auditimit të specifikuara në seksionet DT_AUDIT dhe
    DT_DEPAUDIT i skedarit të ekzekutueshëm.

  • Për arkitekturën powerpc64le, është implementuar mbështetja për tipin e dyfishtë të gjatë IEEE128, i cili aktivizohet kur ndërtohet me opsionin “-mabi=ieeelongdouble”.
  • Disa API janë të shënuara me atributin 'akses' GCC, i cili lejon gjenerimin e paralajmërimeve më të mira kur përpilohen në GCC 10 për të zbuluar tejmbushjet e mundshme të tamponit dhe skenarë të tjerë jashtë kufijve.
  • Për sistemet Linux, funksionet pthread_attr_setsigmask_np dhe
    pthread_attr_getsigmask_np, të cilat i japin aplikacionit mundësinë për të specifikuar një maskë sinjali për thread-et e krijuara duke përdorur pthread_create.

  • Të dhënat e kodimit, informacioni i tipit të karaktereve dhe tabelat e transliterimit janë përditësuar për të mbështetur specifikimin Unicode 13.0.0;
  • U shtua skedari i ri i kokës , i cili përcakton variablin __libc_single_threaded, i cili mund të përdoret në aplikacionet për optimizime me një filetim të vetëm.
  • Funksionet e shtuara sigabbrev_np dhe sigdescr_np që kthejnë emrin dhe përshkrimin e shkurtuar të sinjalit (për shembull, "HUP" dhe "Hangup" për SIGHUP).
  • Funksionet e shtuara strerrorname_np dhe strerrordesc_np që kthejnë emrin dhe përshkrimin e gabimit (për shembull, "EINVAL" dhe "Argumenti i pavlefshëm" për EINVAL).
  • Për platformën ARM64, është shtuar një flamur "--enable-standard-branch-protection" (ose -mbranch-protection=standard në GCC), i cili mundëson mekanizmin ARMv8.5-BTI (Branch Target Indicator) të mbrojë ekzekutimi i grupeve të instruksioneve që nuk duhet të ekzekutohen.tranzicionet e degëzimit. Bllokimi i tranzicioneve në seksione arbitrare të kodit zbatohet për të parandaluar krijimin e pajisjeve në shfrytëzime që përdorin teknika programimi të orientuara drejt kthimit (ROP - Programimi i orientuar nga kthimi; sulmuesi nuk përpiqet të vendosë kodin e tij në memorie, por vepron në pjesë tashmë ekzistuese të instruksioneve të makinës që përfundojnë me një instruksion kontrolli kthimi, nga i cili ndërtohet një zinxhir thirrjesh për të marrë funksionalitetin e dëshiruar).
  • Është kryer një pastrim i madh i veçorive të vjetruara, duke përfshirë heqjen e opsioneve "--enable-obsolete-rpc" dhe "--enable-obsolete-nsl", skedari i kokës . Funksionet sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore dhe sigset, vargjet sys_siglist, _sys_siglist dhe sys_sigabbrev, simbolet sys_errlist, _sys_errlist, sys_nerr dhe _sys_nerr janë modifikuar moduli Nr.
  • ldconfig është zhvendosur si parazgjedhje për të përdorur formatin e ri ld.so.cache, i cili është mbështetur në glibc për gati 20 vjet.
  • Dobësitë e rregulluara:
    • CVE-2016-10228 - Një lak në mjetin iconv ndodh kur ekzekutohet me opsionin "-c" kur përpunohen të dhëna të pasakta me shumë bajtë.
    • CVE-2020-10029 Mblidhni korrupsionin kur thirrni funksione trigonometrike me një argument pseudo-nul.
    • CVE-2020-1752 - Një akses memorie pa përdorim në funksionin glob kur zgjerohet një referencë në drejtorinë kryesore ("~përdorues") në shtigje.
    • CVE-2020-6096 – Trajtim i gabuar në platformën ARMv7 të vlerave negative të parametrave në memcpy() dhe memmove(), i cili përcakton madhësinë e zonës së kopjuar. lejon organizoni ekzekutimin e kodit kur përpunoni të dhëna të formatuara në një mënyrë të caktuar në funksionet memcpy() dhe memmove(). Është domethënëse që problemi mbeti i pakorrigjuar për gati dy muaj që kur informacioni u zbulua publikisht dhe pesë muaj që kur zhvilluesit e Glibc u njoftuan.

Burimi: opennet.ru

Shto një koment