A Glibc 2.32 rendszerkönyvtár kiadása

Hat hónapnyi fejlesztés után megjelent a rendszerkönyvtár kiadása GNU C Könyvtár (glibc) 2.32, amely teljes mértékben megfelel az ISO C11 és POSIX.1-2017 szabványok követelményeinek. Az új kiadásban 67 fejlesztő által végzett javítások találhatók.

A Glibc 2.32-ben megvalósított funkciók közül fejlesztések kiemelhető:

  • Hozzáadva a Synopsys ARC HS (ARCv2 ISA) processzorok támogatása. A port működéséhez legalább binutils 2.32, gcc 8.3 és Linux 5.1 kernel szükséges. Három ABI változat támogatott: arc-linux-gnu, arc-linux-gnuhf és arceb-linux-gnu (big-endian);
  • Megvalósult az audit modulok betöltése, amelyeket a DT_AUDIT és
    DT_DEPAUDIT szekciók jelölnek ki a végrehajtható fájlban.
  • A powerpc64le architektúra számára megvalósult az IEEE128 long double típus támogatása, amely a „-mabi=ieeolongdouble” opcióval történő fordítással kapcsolható be.
  • Néhány API annotálva lett a GCC-‘access’ attribútum használatával, amely lehetővé teszi, hogy a GCC 10 fordításakor jobb minőségű figyelmeztetéseket generáljanak a lehetséges puffer túlcsordulások és más határon túli esetek meghatározásához.
  • Linux rendszerekhez megvalósításra került a pthread_attr_setsigmask_np és
    pthread_attr_getsigmask_np funkció, ami lehetővé teszi az alkalmazás számára, hogy jelek maszkolásának megadását kérje a pthread_create segítségével létrehozott szálakhoz.
  • A kódolási adatok, karaktertípus információk és transliterációs táblák frissítve lettek az Unicode 13.0.0 specifikáció támogatása érdekében;
  • Új fejlécfájl került hozzáadásra <sys/single_threaded.h>, amely definiálja a __libc_single_threaded változót, amely alkalmazásokban használható a szálmentes optimalizálásokhoz.
  • Hozzáadva a sigabbrev_np és sigdescr_np funkciók, amelyek a jel rövid nevét és leírását adják vissza (például: 'HUP' és 'Hangup' a SIGHUP esetén).
  • Hozzáadva a strerrorname_np és strerrordesc_np funkciók, amelyek a hiba nevét és leírását adják vissza (például: 'EINVAL' és 'Érvénytelen argumentum' az EINVAL esetén).
  • ARM64 platformon bevezetésre került a "--enable-standard-branch-protection" (vagy -mbranch-protection=standard GCC-ben) zászló, amely az ARMv8.5-BTI (Branch Target Indicator) mechanizmust aktiválja az utasításkészletek végrehajtásának védelme érdekében, amelyekre nem szabad ugrásoknak történnie a feltételes ugrások során. Az ugrások blokkolása tetszőleges kódterületekre a visszatéréseket célzó programozás (ROP — Return-Oriented Programming) által alkalmazott gúnyolásainak megakadályozása érdekében lett megvalósítva, ahol a támadó nem próbálja meg saját kódját a memóriába helyezni, hanem már meglévő gépi utasítások darabjaival dolgozik, amelyek egy visszahívási utasítással végződnek, így láncokat képezve a szükséges funkcionalitás megszerzésére.
  • Több elavult funkciót töröltek, beleértve a "--enable-obsolete-rpc" és a "--enable-obsolete-nsl" opciókat, valamint a fejlécfájlt. Elavultnak nyilvánították a sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore és sigset függvényeket, a sys_siglist, _sys_siglist és sys_sigabbrev tömböket, továbbá a sys_errlist, _sys_errlist, sys_nerr és _sys_nerr szimbólumokat, valamint a NSS-modult, a hesiod-ot.
  • Az ldconfig alapértelmezés szerint áttért az új ld.so.cache formátumra, amelyet a glibc már majdnem 20 éve támogat.
  • Sebezhetőségek kiküszöbölve:
    • CVE-2016-10228 — ciklus a iconv segédprogramban, amely a "-c" opcióval történő indításkor lép fel, ha érvénytelen többbájtos adatokat dolgoz fel.
    • CVE-2020-10029 — verem megsérülése a trigonometrikus függvények hívásakor álnullás argumentummal.
    • CVE-2020-1752 — memória területre való hivatkozás az felszabadítása után (use-after-free) a glob függvényben a felhasználói könyvtárra hivatkozó "~user" kibővítésekor.
    • CVE-2020-6096 — helytelen paraméterek kezelése ARMv7 platformon a memcpy() és memmove() függvényben, amelyek meghatározzák a másolandó terület méretét. Lehetővé teszi a kód végrehajtásának szervezését a memcpy() és memmove() függvényekben meghatározott módon formázott adatok feldolgozása során. Érdekes, hogy a probléma két hónapig maradt megoldatlan a nyilvános felfedés pillanatától számítva, és öt hónappal a Glibc fejlesztőinek értesítése után.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster