Eldono de Sistemo Biblioteko Glibc 2.32

Post ses monatoj da evoluo eldonita eldono de la sistembiblioteko Biblioteko GNU C (glibc) 2.32, kiu plene konformas al la postuloj de ISO C11 kaj POSIX.1-2017. La nova eldono inkluzivas korektojn de 67 programistoj.

Efektivigite en Glibc 2.32 plibonigoj vi povas noti:

  • Aldonita subteno por Synopsys ARC HS (ARCv2 ISA) procesoroj. La haveno postulas almenaŭ binutils 2.32, gcc 8.3 kaj Linuksan kernon 5.1 por funkcii. Tri ABI-variaĵoj estas subtenataj: arc-linux-gnu, arc-linux-gnuhf kaj arceb-linux-gnu (big-endian);
  • Ŝargado de auditaj moduloj specifitaj en sekcioj DT_AUDIT kaj
    DT_DEPAUDIT de la plenumebla dosiero.

  • Por la arkitekturo powerpc64le, subteno por la IEEE128 longa duobla tipo estas efektivigita, kiu estas ebligita dum konstruado kun la opcio "-mabi=ieeelongdouble".
  • Iuj API-oj estas komentitaj kun la atributo "aliro" de GCC, kiu permesas generi pli bonajn avertojn kiam kompilitaj en GCC 10 por detekti eblajn bufro-superfluojn kaj aliajn eksterlimajn scenarojn.
  • Por Linuksaj sistemoj, la funkcioj pthread_attr_setsigmask_np kaj
    pthread_attr_getsigmask_np, kiuj donas al la aplikaĵo la kapablon specifi signalmaskon por fadenoj kreitaj per pthread_create.

  • Kodigaj datumoj, signo-tipaj informoj kaj transliterumotabuloj estis ĝisdatigitaj por subteni la Unikodon 13.0.0-specifon;
  • Aldonita nova kapdosiero , kiu difinas la variablon __libc_single_threaded, kiu povas esti uzata en aplikoj por unufadenaj optimumigoj.
  • Aldonitaj funkcioj sigabbrev_np kaj sigdescr_np, kiuj resendas la mallongigitan nomon kaj priskribon de la signalo (ekzemple "HUP" kaj "Hangup" por SIGHUP).
  • Aldonitaj funkcioj strerrorname_np kaj strerrordesc_np kiuj resendas la nomon kaj priskribon de la eraro (ekzemple "EINVAL" kaj "Malvalida argumento" por EINVAL).
  • Por la platformo ARM64, flago "--enable-standard-branch-protection" estis aldonita (aŭ -mbranch-protection=normo en GCC), kiu ebligas la mekanismon ARMv8.5-BTI (Branch Target Indicator) protekti la mekanismon. ekzekuto de instrukcioj kiuj ne devus esti ekzekutitaj.branĉigaj transiroj. Blokado de transiroj al arbitraj sekcioj de kodo estas efektivigita por malhelpi la kreadon de noviletoj en ekspluataĵoj kiuj uzas reven-orientitajn programajn teknikojn ( ROP - Return-Oriented Programming ; la atakanto ne provas meti sian kodon en memoron, sed operacias sur jam ekzistantaj pecoj. de maŝininstrukcioj kiuj finiĝas per revenkontrolinstrukcio, de kiu ĉeno de vokoj estas konstruita por akiri la deziratan funkciecon).
  • Grava purigado de malnoviĝintaj funkcioj estis farita, inkluzive de la forigo de la opcioj "--enable-obsolete-rpc" kaj "--enable-obsolete-nsl", kapdosiero . La funkcioj sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore kaj sigset, la tabeloj sys_siglist, _sys_siglist kaj sys_sigabbrev, la simboloj sys_errlist, _sys_errlist, sys_nerr kaj _sys_nerrlist estis depretigitaj kaj malpretigitaj.
  • ldconfig estis defaŭlte movita por uzi la novan ld.so.cache formaton, kiu estis subtenata en glibc dum preskaŭ 20 jaroj.
  • Riparitaj vundeblecoj:
    • CVE-2016-10228 - Buklo en la ilo iconv okazas kiam ĝi funkcias per la opcio "-c" kiam oni prilaboras malĝustajn multbajtajn datumojn.
    • CVE-2020-10029 Staku korupton dum vokado de trigonometriaj funkcioj kun pseŭdo-nula argumento.
    • CVE-2020-1752 - Uzo-post-libera memoraliro en la glob-funkcio kiam vastigas referencon al la hejma dosierujo ("~uzanto") en vojoj.
    • CVE-2020-6096 - Malĝusta uzado en la platformo ARMv7 de negativaj parametraj valoroj en memcpy() kaj memmove(), kiu determinas la grandecon de la kopiita areo. Permesas organizi kodan ekzekuton dum prilaborado de datumoj formatitaj en certa maniero en la memcpy() kaj memmove() funkcioj. Estas signifa ke la problemo restis nekorektita dum preskaŭ du monatoj de kiam la informo estis publike malkaŝita kaj kvin monatoj de kiam la programistoj de Glibc estis sciigitaj.

fonto: opennet.ru

Aldoni komenton