Glibc 2.32 Stelselbiblioteekvrystelling

Na ses maande van ontwikkeling gepubliseer stelsel biblioteek vrystelling GNU C-biblioteek (glibc) 2.32, wat ten volle aan die vereistes van ISO C11 en POSIX.1-2017 voldoen. Die nuwe weergawe bevat regstellings van 67 ontwikkelaars.

Geïmplementeer in Glibc 2.32 verbeterings jy kan daarop let:

  • Bygevoeg ondersteuning vir Synopsys ARC HS (ARCv2 ISA) verwerkers. Die poort vereis ten minste binutils 2.32, gcc 8.3 en Linux kernel 5.1 om te loop. Drie ABI-variante word ondersteun: arc-linux-gnu, arc-linux-gnuhf en arceb-linux-gnu (big-endian);
  • Laai van ouditmodules gespesifiseer in afdelings DT_AUDIT en
    DT_DEPAUDIT van die uitvoerbare lêer.

  • Vir die powerpc64le-argitektuur word ondersteuning vir die IEEE128 lang dubbeltipe geïmplementeer, wat geaktiveer word wanneer met die "-mabi=ieeelongdouble"-opsie gebou word.
  • Sommige API's is geannoteer met die GCC 'toegang'-kenmerk, wat toelaat dat beter waarskuwings gegenereer word wanneer dit in GCC 10 saamgestel word om moontlike bufferoorvloeie en ander buitegrensscenario's op te spoor.
  • Vir Linux-stelsels, die funksies pthread_attr_setsigmask_np en
    pthread_attr_getsigmask_np, wat die toepassing die vermoë gee om 'n seinmasker te spesifiseer vir drade wat met pthread_create geskep is.

  • Enkoderingsdata, karaktertipe-inligting en transliterasietabelle is opgedateer om die Unicode 13.0.0-spesifikasie te ondersteun;
  • Nuwe koplêer bygevoeg , wat die __libc_single_threaded veranderlike definieer, wat gebruik kan word in toepassings vir enkel-threaded optimaliserings.
  • Bygevoegde funksies sigabbrev_np en sigdescr_np wat die verkorte naam en beskrywing van die sein gee (byvoorbeeld, "HUP" en "Hangup" vir SIGHUP).
  • Bygevoeg funksies strerrorname_np en strerrordesc_np wat die naam en beskrywing van die fout teruggee (byvoorbeeld, "EINVAL" en "Ongeldige argument" vir EINVAL).
  • Vir die ARM64-platform is 'n "--enable-standard-branch-protection" vlag bygevoeg (of -mbranch-protection=standard in GCC), wat die ARMv8.5-BTI (Branch Target Indicator) meganisme in staat stel om die uitvoering van instruksiestelle wat nie uitgevoer moet word nie vertakkingsoorgange. Blokkering van oorgange na arbitrêre afdelings van kode word geïmplementeer om die skepping van gadgets te voorkom in ontginning wat terugkeer-georiënteerde programmeringstegnieke gebruik (ROP - Return-Oriented Programming; die aanvaller probeer nie om sy kode in die geheue te plaas nie, maar werk op reeds bestaande stukke van masjieninstruksies wat eindig met 'n terugkeerbeheer-instruksie, waaruit 'n ketting oproepe gebou word om die verlangde funksionaliteit te verkry).
  • 'n Groot opruiming van verouderde kenmerke is uitgevoer, insluitend die verwydering van die "--enable-obsolete-rpc" en "--enable-obsolete-nsl" opsies, koplêer . Die funksies sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore en sigset, die skikkings sys_siglist, _sys_siglist en sys_sigabbrev, die simbole sys_errlist, _sys_errlist, sys_nerr en _sys_nerr, en die NSS-module is afgeskryf.
  • ldconfig is by verstek geskuif om die nuwe ld.so.cache-formaat te gebruik, wat byna 20 jaar lank in glibc ondersteun word.
  • Kwesbaarhede opgelos:
    • CVE-2016-10228 – 'n Lus in die iconv-nutsprogram vind plaas wanneer dit met die "-c"-opsie uitgevoer word wanneer verkeerde multi-grepe-data verwerk word.
    • CVE-2020-10029 Stapelkorrupsie wanneer trigonometriese funksies met 'n pseudo-nul-argument opgeroep word.
    • CVE-2020-1752 - 'n Gebruik-na-vrye geheuetoegang in die glob-funksie wanneer 'n verwysing na die tuisgids ("~gebruiker") in paaie uitgebrei word.
    • CVE-2020-6096 – Verkeerde hantering op die ARMv7-platform van negatiewe parameterwaardes in memcpy() en memmove(), wat die grootte van die gekopieerde area bepaal. Laat toe organiseer kode-uitvoering wanneer data verwerk word wat op 'n sekere manier in die memcpy()- en memmove()-funksies geformateer is. Dit is betekenisvol dat die probleem gebly het ongekorrigeer vir byna twee maande sedert die inligting in die openbaar bekend gemaak is en vyf maande sedert die Glibc-ontwikkelaars in kennis gestel is.

Bron: opennet.ru

Voeg 'n opmerking