PĂ€rast kuue kuu arendustööd sĂŒsteemiraamatukogu vĂ€ljaanne (glibc) , mis kĂ€tkeb tĂ€ielikult ISO C11 ja POSIX.1-2017 standardite nĂ”udeid. Uue versiooni koostisosadesse on lisatud parandusi 67 arendajalt.
Glibc 2.32-s rakendatud poolelt vÔib mÀrkida:
- Toetust on lisatud Synopsys ARC HS (ARCv2 ISA) protsessoritele. Portimiseks on vajalik vÀhemalt binutils 2.32, gcc 8.3 ja Linuxi tuum 5.1. Toetatakse kolme erinevat ABI'd: arc-linux-gnu, arc-linux-gnuhf ja arceb-linux-gnu (big-endian);
- Rakendatud on auditimoodulite laadimine, mis on mÀÀratletud DT_AUDIT ja
DT_DEPAUDIT sektsioonides tĂ€idetava faili. - Powerpc64le arhitektuuri jaoks on rakendatud IEEE128 long double tĂŒĂŒbi tuge, mis on aktiveeritud, kui kompileeritakse valikuga â-mabi=ieeelongdoubleâ.
- MĂ”ned API-d on tĂ€iendatud GCC atribuudi 'access' abil, mis vĂ”imaldab GCC 10-s kompileerimisel genereerida kvaliteetsemaid hoiatavaid teateid potentsiaalsete puhverĂŒlekannete ja teiste piire ĂŒletavate variantide tuvastamisel.
- Linuxi sĂŒsteemide jaoks on rakendatud funktsioonid pthread_attr_setsigmask_np ja
pthread_attr_getsigmask_np, mis annavad rakendusele vĂ”imaluse mÀÀrata signaalimask loodud lĂ”imede jaoks, kasutades pthread_create'i. - Koodide andmed, sĂŒmbolite tĂŒĂŒpide teave ja transliteratsioonitabelid on ajakohastatud, et toetada Unicode 13.0.0 spetsifikatsiooni;
- Lisatud on uus pealkirjafail , mis mÀÀratleb muutuja __libc_single_threaded, mida saab kasutada rakendustes ĂŒhesuundsete optimeerimiste jaoks.
- Lisatud on funktsioonid sigabbrev_np ja sigdescr_np, mis tagastavad signaali lĂŒhendatud nime ja kirjelduse (nĂ€iteks âHUPâ ja âHangupâ SIGHUP jaoks).
- Lisatud on 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 instruktsioonide tĂ€itmise kaitseks, millele ei tohiks toimuda ĂŒleminekuid harude puhul. Ăleminekute blokeerimine juhuslikele koodiosaalidele on rakendatud, et takistada gadĆŸettide loomist ekspluiteerimistes, mis kasutavad tagasi-orienteeritud programmeerimise (ROP) meetodeid â rĂŒndaja ei pĂŒĂŒa paigutada oma koodi mĂ€llu, vaid opereerib juba olemasolevate masiinijuhiste tĂŒkkidega, mis lĂ”ppevad juhtimise tagastamise juhisega, millest moodustatakse kutseketid vajaliku funktsionaalsuse saavutamiseks.
- Tehti ulatuslik puhastus vananenud funktsioonidest, sealhulgas eemaldati valikud «âenable-obsolete-rpc» ja «âenable-obsolete-nsl», pĂ€isefail . Ajavahemike 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 kuulutati vananenuks.
- ldconfig on vaikimisi muudetud kasutama uut formaati ld.so.cache, mida glibc toetab juba peaaegu 20 aastat.
- Turbeteated:
- CVE-2016-10228 â lĂ”putu tsĂŒkkel iconv utiliidis, mis ilmneb kĂ€ivitamisel valikuga «-c», kui töödeldakse vale vorminguga mitmemĂ€rgilisi andmeid.
- CVE-2020-10029 â pinu kahjustamine trigonometriliste funktsioonide kutsumisel vale nulli argumendiga.
- CVE-2020-1752 â mĂ€lu piirkonna juurde pÀÀsemine pĂ€rast selle vabastamist (use-after-free) funktsioonis glob, kui pĂ”hjendatakse kodukausta viidet («~user») teedes.
- CVE-2020-6096 â vale töötlemine ARMv7 platvormil negatiivsete vÀÀrtuste parameetris memcpy() ja memmove(), mis mÀÀrab kopeerimise piirkonna suuruse. korraldada koodi tĂ€itmise, kui töödeldakse memcpy() ja memmove() funktsioonides teatud viisil vormindatud andmeid. Ăheks probleemiks on see, et on olnud parandamata peaaegu kaks kuud alates avalikustamise hetkest ja viis kuud alates Glibc arendajatest teavitamisest.
Allikas: opennet.ru
