Pas pas gjashtë muajsh zhvillimi lëshimi i bibliotekës sistemore (glibc) , i cili plotësisht i përmbahet standardeve ISO C11 dhe POSIX.1-2017. Versioni i ri përfshin korrigjime nga 67 zhvillues.
Nga përmirësimet e realizuara në Glibc 2.32 mund të theksohet:
- Shtuar mbështetje për procesorët Synopsys ARC HS (ARCv2 ISA). Për funksionimin e portit kërkohet të paktën binutils 2.32, gcc 8.3 dhe bërthama Linux 5.1. Mbështeten tre variante ABI arc-linux-gnu, arc-linux-gnuhf dhe arceb-linux-gnu (big-endian);
- Implementuar ngarkimi i moduleve të auditit, siç janë të specifikuara në seksionet DT_AUDIT dhe
DT_DEPAUDIT të skedarit ekzekutues. - Për arkitekturën powerpc64le, është shtuar mbështetje për llojin IEEE128 long double, që aktivizohet gjatë ndërtimit me opsionin "-mabi=ieeolongdouble".
- Disa API janë annotuar me përdorimin e atributit GCC 'access', i cili lejon gjatë kompilimit në GCC 10 të gjenerohen paralajmërime më të shpejta në lidhje me mbushjet e mundshme të bufereve dhe varianta të tjera të daljes jashtë kufijve të lejuar.
- Për sistemet Linux, janë implementuar funksionet pthread_attr_setsigmask_np dhe
pthread_attr_getsigmask_np, të cilat lejojnë aplikacionit të specifikojë maskën e sinjalit për thread-et e krijuara me pthread_create. - Të dhënat e kodimeve, informatat për llojet e karaktereve dhe tabelat e transliterimit janë përditësuar për të mbështetur specifikimin Unicode 13.0.0;
- Shtuar një skedar të ri titulli , që përcakton variablën __libc_single_threaded, e cila mund të përdoret në aplikacione për optimizime njëanëshe.
- Shtuar funksionet sigabbrev_np dhe sigdescr_np, që kthejnë emrin e shkurtuar dhe përshkrimin e sinjalit (për shembull, "HUP" dhe "Hangup" për SIGHUP).
- Shtuar funksionet strerrorname_np dhe strerrordesc_np, që kthejnë emrin dhe përshkrimin e gabimit (për shembull, "EINVAL" dhe "Argument i pavlefshëm" për EINVAL).
- PĂ«r platformĂ«n ARM64 Ă«shtĂ« shtuar flag-u "--enable-standard-branch-protection" (ose -mbranch-protection=standard nĂ« GCC), qĂ« angazhon mekanizmin ARMv8.5-BTI (Branch Target Indicator) pĂ«r mbrojtjen e ekzekutimit tĂ« grupeve tĂ« instruktimeve qĂ« nuk duhet tĂ« kryejnĂ« kalime gjatĂ« degĂ«ve. Ndalesa e kalimeve nĂ« seksione tĂ« rastit tĂ« kodit Ă«shtĂ« realizuar pĂ«r tĂ« parandaluar krijimin e gadgeteve nĂ« eksploit, duke pĂ«rdorur teknikat e programimit tĂ« orientuar nĂ« kthimin e kontrollit (ROP â Return-Oriented Programming, ku sulmuesi nuk pĂ«rpiqet tĂ« vendosĂ« kodin e tij nĂ« memorie, por punon me copĂ«za ekzistuese tĂ« instruktimeve tĂ« makinerisĂ«, qĂ« pĂ«rfundojnĂ« me instruktionen e kthimit tĂ« kontrollit, tĂ« cilat ndĂ«rtojnĂ« njĂ« zinxhir thirjesh pĂ«r tĂ« arritur funksionalitete tĂ« caktuara).
- Janë bërë pastrime të mëdha të mundësive të vjetra, duke përfshirë heqjen e opsioneve "--enable-obsolete-rpc" dhe "--enable-obsolete-nsl", skedari tituj . Janë shpallur të vjetra funksionet sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore dhe sigset, masat sys_siglist, _sys_siglist dhe sys_sigabbrev, simbolet sys_errlist, _sys_errlist, sys_nerr dhe _sys_nerr, moduli NSS hesiod.
- ldconfig për default është kaluar në përdorimin e formatit të ri ld.so.cache, i cili mbështetet në glibc tashmë për gati 20 vjet.
- Identifikuar dobësi:
- CVE-2016-10228 â bllokim nĂ« utilitarin iconv, qĂ« shfaqet kur eksportohet me opsionin "-c", nĂ« rastin e pĂ«rpunimit tĂ« tĂ« dhĂ«nave tĂ« shumĂ«fishta tĂ« papĂ«rshtatshme.
- CVE-2020-10029 â dĂ«mtim tĂ« stack-ut gjatĂ« thirrjes sĂ« funksioneve trigonometric me njĂ« argument pseudo-zero.
- CVE-2020-1752 â qasje nĂ« njĂ« hapĂ«sirĂ« tĂ« kujtesĂ«s pas çlirimit tĂ« saj (use-after-free) nĂ« funksionin glob gjatĂ« zgjidhjes sĂ« lidhjes pĂ«r katalogun e shtĂ«pisĂ« ("~user") nĂ« rrugĂ«t.
- CVE-2020-6096 â trajtim i gabuar nĂ« platformĂ«n ARMv7 tĂ« vlerave negative tĂ« parametrave nĂ« memcpy() dhe memmove(), qĂ« pĂ«rcakton madhĂ«sinĂ« e zonĂ«s sĂ« kopjuar. organizimin e ekzekutimit tĂ« kodit gjatĂ« pĂ«rpunimit nĂ« funksionet memcpy() dhe memmove() tĂ« dhĂ«nave tĂ« organizuara nĂ« njĂ« mĂ«nyrĂ« tĂ« caktuar. ĂshtĂ« e dukshme se problemi i pazgjidhur pĂ«r gati dy muaj qĂ« nga shpĂ«rndarja publike e informacionit dhe pesĂ« muaj qĂ« nga njoftimi i zhvilluesve tĂ« Glibc.
Burimi: opennet.ru
