PĂ€rast kuue kuu arendustööd sĂŒsteembiblioteki vĂ€ljaanne (glibc) , mis jĂ€rgib tĂ€ielikult ISO C11 ja POSIX.1-2017 standardite nĂ”udeid. Uue vĂ€ljaande koostisosadesse on lisatud parandusi 67 arendajalt.
Teostatud Glibc 2.32-s vÔib vÀlja tuua:
- Lisatud tugi Synopsys ARC HS (ARCv2 ISA) protsessoritele. Portimise jaoks on vajalik vÀhemalt binutils 2.32, gcc 8.3 ja Linuxi kernel 5.1. Toetatakse kolme variantia ABI-d: arc-linux-gnu, arc-linux-gnuhf ja arceb-linux-gnu (big-endian);
- On rakendatud auditi moodulite laadimist, mis on mÀÀratletud DT_AUDIT ja
DT_DEPAUDIT tĂ€idetava faili sektsioonides. - Powerpc64le arhitektuuri jaoks on rakendatud IEEE128 long double tĂŒĂŒbi tugi, mille aktiveerimiseks on kompileerimise valik â-mabi=ieeelongdoubleâ.
- MĂ”ned API-d on annoteritud GCC atribuudi 'access' abil, mis vĂ”imaldab GCC 10 kompileerimisel genereerida kvaliteetsemaid hoiatuseid vĂ”imalike puhvri ĂŒlevoolude ja muude piire ĂŒletavate olukordade mÀÀratlemisel.
- Linuxi sĂŒsteemide jaoks on rakendatud funktsioonid pthread_attr_setsigmask_np ja
pthread_attr_getsigmask_np, mis annavad rakendusele vĂ”imaluse mÀÀrata signaalimaski nende lĂ”ngade jaoks, mis on loodud pthread_create abil. - Koodide andmed, teave sĂŒmbolitĂŒĂŒpide kohta ja transliteratsiooni tabelid on ajakohastatud, et toetada Unicode 13.0.0 spetsifikatsiooni;
- Lisatud uus pealkirjafail <sys/single_threaded.h>, mis mÀÀratleb muutuja __libc_single_threaded, mida saab kasutada rakendustes ĂŒhesuunaliste optimeerimiste jaoks.
- Lisatud funktsioonid sigabbrev_np ja sigdescr_np, mis tagastavad signaali lĂŒhendatud nime ja kirjelduse (nĂ€iteks âHUPâ ja âHangupâ SIGHUP jaoks).
- Lisatud funktsioonid strerrorname_np ja strerrordesc_np, mis tagastavad vea nime ja kirjelduse (nĂ€iteks âEINVALâ ja âKehtetu argumentâ EINVAL jaoks).
- ARM64 platvormile on lisatud lipp â--enable-standard-branch-protectionâ (vĂ”i -mbranch-protection=standard GCC-s), mis aktiveerib ARMv8.5-BTI (Branch Target Indicator) mehhanismi, et kaitsta kĂ€skude komplektide kĂ€itamise eest, millele ei peaks hĂŒppama harutamisel. HĂŒpete blokeerimine suvalistele koodilĂ”ikudele on rakendatud ROP (Return-Oriented Programming) kasutavate eksploiteerimiste vastu, kus rĂŒndaja ei pĂŒĂŒa oma koodi mĂ€lu panna, vaid kasutab juba olemasolevaid masinainete lĂ”ike, mis lĂ”pevad juhtimise tagastamise kĂ€suga, millest ehitatakse ĂŒles ehitus, et saada soovitud funktsionaalsus.
- Tehti suur puhastus vananenud vĂ”imalustest, sealhulgas eemaldati valikud «âenable-obsolete-rpc» ja «âenable-obsolete-nsl», pealkirja fail . Asetati vananenud funktsioonideks sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore ja sigset, massiivid sys_siglist, _sys_siglist ja sys_sigabbrev, sĂŒmbolid sys_errlist, _sys_errlist, sys_nerr ja _sys_nerr, NSS-moodul hesiod.
- ldconfig on vaikimisi seatud kasutama uut formaati ld.so.cache, mida glibc on toetanud juba peaaegu 20 aastat.
- Turbepuudused on kÔrvaldatud:
- CVE-2016-10228 â lĂ”pmatus tsĂŒkkel utiliidis iconv, mis ilmneb, kui see kĂ€ivitatakse valikuga «-c», vale mitme baidi andmete töötlemisel.
- CVE-2020-10029 â vihma hiljem tekkinud stack kahjustus trigonomeetriliste funktsioonide kutsel vale nullvÀÀrtusega argumendi kasutamisel.
- CVE-2020-1752 â mĂ€luala juurde pÀÀsemine pĂ€rast selle vabastamist (kasutamine pĂ€rast vabanemist) glob-funktsioonis, kui avatakse viide kodukataloogile («~user») teedes.
- CVE-2020-6096 â vale kĂ€itlemine ARMv7 platvormil negatiivsete vÀÀrtuste parameetrites memcpy() ja memmove() funktsioonides, mis mÀÀravad kopeeritava ala suuruse. korraldada koodi tĂ€itmist, kui kĂ€sitletakse teatud viisil vormindatud andmeid funktsioonides memcpy() ja memmove(). Problem on rĂ”hutatud, et korras peaaegu kaks kuud alates avalikustamise hetkest ja viis kuud alates Glibc arendajate teavitamisest.
Allikas: opennet.ru
