Vydanie systémovej knižnice Glibc 2.32

Po šiestich mesiacoch vývoja bol zverejnený uvoľnenie systémovej knižnice GNU C Knižnica (glibc) 2.32, ktorá úplne zodpovedá normám ISO C11 a POSIX.1-2017. Nová verzia obsahuje opravy od 67 vývojárov.

Zrealizovaných v Glibc 2.32 vylepšení možno poznamenať:

  • Pridala sa podpora procesorov Synopsys ARC HS (ARCv2 ISA). Pre funkčnosť portu je potrebné aspoň binutils 2.32, gcc 8.3 a jadro Linux 5.1. Podporujú sa tri varianty ABI arc-linux-gnu, arc-linux-gnuhf a arceb-linux-gnu (big-endian);
  • Implementovalo sa načítanie auditných modulov uvedených v sekciách DT_AUDIT a
    DT_DEPAUDIT spustiteľného súboru.
  • Pre architektúru powerpc64le sa implementovala podpora typu IEEE128 long double, ktorá sa aktivuje pri kompilácii s voľbou „-mabi=ieeolongdouble“.
  • Niektoré API sú anotované pomocou GCC atribútu 'access', ktorý umožňuje pri kompilácii v GCC 10 generovať kvalitnejšie varovania pri určení možných preplnení bufferov a iných variantov prekročenia povolených hraníc.
  • Pre systémy Linux sú implementované funkcie pthread_attr_setsigmask_np a
    pthread_attr_getsigmask_np, ktoré dávajú aplikácii možnosť určiť masku signálu pre vlákna vytvorené pomocou pthread_create.
  • Údaje o kódovaniach, informácie o typoch symbolov a tabuľky transliterácie boli aktualizované pre podporu špecifikácie Unicode 13.0.0;
  • Pridaný nový hlavičkový súbor <sys/single_threaded.h>, ktorý definuje premennú __libc_single_threaded, ktorú možno použiť v aplikáciách na jednovláknové optimalizácie.
  • Pridané funkcie sigabbrev_np a sigdescr_np, ktoré vracajú skrátené názvy a popisy signálov (napríklad „HUP“ a „Hangup“ pre SIGHUP).
  • Pridané funkcie strerrorname_np a strerrordesc_np, ktoré vracajú názov a popis chyby (napr. „EINVAL“ a „Invalid argument“ pre EINVAL).
  • Pre platformu ARM64 sa pridal flag „—enable-standard-branch-protection“ (alebo -mbranch-protection=standard v GCC), ktorý aktivuje mechanizmus ARMv8.5-BTI (Branch Target Indicator) na ochranu vykonávania inštrukčných sád, na ktoré by nemali byť vykonávané skoky pri vetvení. Zablokovanie skokov na náhodné úseky kódu sa realizovalo na protiopatrenie voči vytváraniu Gadgetov v exploitoch používajúcich techniky návratovo orientovaného programovania (ROP — Return-Oriented Programming, útočník sa nesnaží umiestniť svoj kód do pamäte, ale operuje už existujúcimi kusmi strojových inštrukcií, ktoré končia príkazom na návrat, z ktorých sa zostavuje reťazec volaní na dosiahnutie požadovanej funkcionality).
  • Bola vykonaná rozsiahla očista zastaraných funkcií, vrátane odstránenia možností „—enable-obsolete-rpc“ a „—enable-obsolete-nsl“, hlavičkového súboru . Boli vyhlásené za zastarané funkcie sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore a sigset, polia sys_siglist, _sys_siglist a sys_sigabbrev, symboly sys_errlist, _sys_errlist, sys_nerr a _sys_nerr, NSS modul hesiod.
  • ldconfig je predvolene preložený na používanie nového formátu ld.so.cache, ktorý je podporovaný v glibc už takmer 20 rokov.
  • Boli odstránené zraniteľnosti:
    • CVE-2016-10228 — zamykanie v utilite iconv, prejavujúce sa pri spustení s opciou „-c“, ak sa spracovávajú neplatné viacerobajtové dáta.
    • CVE-2020-10029 — poškodenie zásobníka pri volaní trigonometrických funkcií s pseudo nulovým argumentom.
    • CVE-2020-1752 — prístup do oblasti pamäte po jej oslobodení (use-after-free) vo funkcii glob pri rozšírení odkazu na domovský adresár („~user“) v cestách.
    • CVE-2020-6096 — nesprávne spracovanie na platforme ARMv7 negatívnych hodnôt parametra v memcpy() a memmove(), určujúceho veľkosť kopírovanej oblasti. Umožňuje organizovať vykonávanie kódu pri spracovaní v funkciách memcpy() a memmove() určitým spôsobom formátovaných dát. Pôsobivé je, že problém ostával neopravený takmer dva mesiace od verejného zverejnenia informácií a päť mesiacov od oznámenia vývojárom Glibc.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster