Lëshimi i bibliotekës sistemike Glibc 2.41

Pas 6 muajsh zhvillimi u publikua versioni i bibliotekës sistemore GNU C Library (glibc) 2.41, i cili i plotëson plotësisht kërkesat e standardeve ISO C11 dhe POSIX.1-2017. Në krijimin e këtij versioni morën pjesë 79 zhvillues.

Disa nga përmirësimet e zbatuara në Glibc 2.41 përfshijnë:

  • PĂ«r platformĂ«n Linux janĂ« shtuar funksionet e reja sched_setattr dhe sched_getattr, pĂ«rmes tĂ« cilave mund tĂ« vendosni/lexoni parametrat e planifikuesit tĂ« detyrave. NĂ« praktikĂ«, kĂ«to funksione lejojnĂ« konfigurimin e politikave tĂ« planifikimit tĂ« kĂ«rkesave, si SCHED_DEADLINE, tĂ« cilat pĂ«rdorin parametra tĂ« shtuar pĂ«rveç prioriteteve.
  • NĂ« utilitarin iconv Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r konvertimin e kodimeve nĂ« vend (nĂ«se emrat e skedarĂ«ve hyrĂ«s dhe dalĂ«s pĂ«rkojnĂ«, iconv tani krijon automatikisht njĂ« skedar tĂ« pĂ«rkohshĂ«m dhe pas pĂ«rfundimit tĂ« konvertimit e zĂ«vendĂ«son atĂ« me skedarin origjinĂ«).
  • NĂ« skedarin e titullit math.h janĂ« shtuar funksione trigonometrike qĂ« shfaqen nĂ« standardin C23 (TS 18661-4:2015): acospi, asinpi, atan2pi, atanpi, cospi, sinpi dhe tanpi.
  • Nga projekti CORE-MATH janĂ« transferuar funksionet e optimizuara dhe ato qĂ« pĂ«rdorin rrethim tĂ« saktĂ«, si exp10m1f, exp2m1f, expm1f, log10f, log2p1f, log1pf, log10p1f, cbrtf, erff, erfcf, lgammaf, tgammaf, tanf, acosf, acoshf, asinf, asinhf, atanf, atan2f, atanhf, coshf, sinhf dhe tanhf.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimin ARM64 GCS (Guarded Control Stack) pĂ«r mbrojtjen harduerike tĂ« adresave tĂ« rikthimit nga funksionet dhe bllokimin e eksploitĂ«ve qĂ« pĂ«rdorin metodat e programimit tĂ« orientuar ndaj rikthimit (ROP — Return-Oriented Programming, ku eksploitĂ« formohet nga copĂ«za tĂ« shumicĂ«s sĂ« instruksioneve tĂ« makinerisĂ« qĂ« pĂ«rfundojnĂ« me instrukcioni i rikthimit tĂ« kontrollit). ARM64 GCS lejon pĂ«rdorimin e teknikĂ«s sĂ« stack-ut tĂ« hijeve (shadow stack) pĂ«r mbrojtjen e proceseve nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit — pas kalimit tĂ« kontrollit nĂ« funksion, adresat e rikthimit ruhet nga procesori jo vetĂ«m nĂ« stack-un e zakonshĂ«m, por po ashtu edhe nĂ« njĂ« stack tĂ« veçantĂ« hije, i cili nuk mund tĂ« ndryshohet drejtpĂ«rdrejt. Para dalje nga funksioni, adresa e rikthimit nxirret nga stack-u i hijeve dhe krahasohet me adresĂ«n e rikthimit nga stack-u kryesor. PĂ«r ndĂ«rtimin e Glibc me mbĂ«shtetje pĂ«r GCS kĂ«rkohet tĂ« paktĂ«n versionet binutils 2.44 dhe GCC 15.
  • ËshtĂ« bĂ«rĂ« njĂ« punĂ« e madhe pĂ«r tĂ« pĂ«rmirĂ«suar gjenerimin e kodit dhe pĂ«r tĂ« rritur performancĂ«n e funksioneve matematikore pĂ«r arkitekturĂ«n ARM64/AArch64. JanĂ« realizuar optimizime duke pĂ«rdorur instrukcione vektoriale (SVE, Scalable Vector Extension) dhe zgjerime SIMD (Neon).
  • PĂ«r sistemet me procesorĂ« ARM64/AArch64 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin Memory Protection Keys, i cili pĂ«rdoret pĂ«r tĂ« kufizuar qasjen nĂ« faqet e memories pa ndryshuar tabelĂ«n e faqes sĂ« memories.
  • PĂ«r sistemet me procesorĂ« PowerPC64 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r instrukcione tĂ« zgjeruara pĂ«r t'u mbrojtur nga pĂ«rdorimi i programimit tĂ« orientuar nga kthimi nĂ« eksploit.
  • ËshtĂ« shtuar njĂ« lloj i ri arkitekture arch_kind_hygon pĂ«r procesorĂ«t x86-64 Hygon kinezĂ«, tĂ« ndĂ«rtuar nĂ« bazĂ« tĂ« teknologjive AMD.
  • ËshtĂ« zgjeruar ndjeshĂ«m disposioni pĂ«r testimin e glibc, numri i testeve nĂ« tĂ« cilin Ă«shtĂ« rritur nga 5408 nĂ« 6232 krahasuar me versionin e kaluar.
  • ËshtĂ« shtuar mundĂ«sia pĂ«r testimin e ndĂ«rtimit tĂ« glibc duke pĂ«rdorur kompilerĂ« C dhe C++ qĂ« janĂ« tĂ« ndryshĂ«m nga ata qĂ« janĂ« pĂ«rdorur pĂ«r ndĂ«rtimin aktual. PĂ«r shembull, ‘configure TEST_CC="gcc-6.4.1" TEST_CXX="g++-6.4.1"‘ dhe ‘configure TEST_CC="clang" TEST_CXX="clang++"‘.
  • NĂ« opsionet e pĂ«rcaktuara nĂ« skedarin /etc/resolv.conf dhe nĂ« variablĂ«n e mjedisit RES_OPTIONS, Ă«shtĂ« e mundur tĂ« pĂ«rdoret prefiksi "-" pĂ«r tĂ« pastruar opsionin e mĂ«parshĂ«m me kĂ«tĂ« emĂ«r. PĂ«r shembull, nĂ«se nĂ« skedarin /etc/resolv.conf Ă«shtĂ« e specifikuar "options no-aaaa", atĂ«herĂ« kur procesi aktivizohet me variablĂ«n e mjedisit "RES_OPTIONS=-no-aaaa", do tĂ« pezullohet ndalimi pĂ«r dĂ«rgimin e kĂ«rkesave DNS pĂ«r tĂ« marrĂ« regjistrin AAAA.
  • NĂ« DNS-resolverin Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r opsionin "strict-error", ku funksioni getaddrinfo(), nĂ«se tipi i adresave (AF_UNSPEC) nuk Ă«shtĂ« specifikuar qartĂ«, do tĂ« provojĂ« tĂ« marrĂ« vlerat e regjistrave A (IPv4) dhe AAAA (IPv6) nga njĂ« server tjetĂ«r DNS, nĂ«se kĂ«rkesa pĂ«r regjistrin A ose AAAA nĂ« serverin e parĂ« DNS pĂ«rfundoi me njĂ« gabim. Pa specifikimin e "strict-error", nĂ« njĂ« situatĂ« tĂ« tillĂ« do tĂ« kthehet adresa e marrĂ« nga kĂ«rkesa e suksesshme, ndĂ«rsa vlera e kĂ«rkesĂ«s sĂ« dĂ«shtuar do tĂ« injorohet. PĂ«r shembull, nĂ«se server ktheu regjistrin "A", por dha njĂ« gabim gjatĂ« kĂ«rkesĂ«s pĂ«r "AAAA", getaddrinfo pa opsionin "strict-error" menjĂ«herĂ« do tĂ« kthejĂ« vetĂ«m adresĂ«n IPv4, ndĂ«rsa me opsionin "strict-error" do tĂ« pĂ«rpiqet tĂ« pĂ«rsĂ«risĂ« kĂ«rkesat te njĂ« server tjetĂ«r DNS.
  • TĂ« dhĂ«nat e kodifikimeve, informacioni pĂ«r llojet e simboleve dhe tabelat e transliterimit janĂ« pĂ«rditĂ«suar pĂ«r tĂ« mbĂ«shtetur specifikimin Unicode 16.0.0.
  • Makroja «_ISOC2Y_SOURCE» Ă«shtĂ« shtuar, duke mundĂ«suar aktivizimin e funksionaliteteve tĂ« pĂ«rcaktuara nĂ« draftin e standardit C2Y. Funksionalitete tĂ« tilla mund tĂ« aktivizohen gjithashtu me makron _GNU_SOURCE dhe pĂ«rmes flagjeve tĂ« pĂ«rkthyesit («gcc -std=gnu2y»).
  • ËshtĂ« realizuar mjeti benchtest pĂ«r tĂ« monitoruar performancĂ«n e funksioneve tĂ« ndryshme (zakonisht matematikore).
  • ËshtĂ« shtuar konfigurimi glibc.rtld.execstack, pĂ«rmes tĂ« cilit mund tĂ« ndalohet shprehimisht pĂ«rdorimi i stack-ut ekzekutiv.
  • ËshtĂ« shtetur ABI rseq (sekuenca tĂ« rinisjes), duke ofruar njĂ« mekanizĂ«m pĂ«r ekzekutimin e shpejtĂ« dhe atomik tĂ« operacioneve (nĂ« rast se operacioni ndĂ«rpritet nga njĂ«çșżçš‹ tjetĂ«r, gjendja e rikthehet dhe pĂ«rpjekja pĂ«rsĂ«ritet). NĂ« versionin e ri Ă«shtĂ« duke u ofruar mundĂ«sia e pĂ«rdorimit tĂ« mundĂ«sive tĂ« zgjeruara nĂ« rseq, tĂ« cilat munguan nĂ« ABI-nĂ« e origjinĂ«s, si identifikuesit e ekzekutimit paralel (mm_cid, ID e konkurencĂ«s sĂ« hartĂ«s sĂ« memories) dhe identifikuesit NUMA (node_id).
  • PĂ«rkrahja pĂ«r portin pĂ«r sistemet big-endian ARC (arceb-linux-gnu) Ă«shtĂ« pezulluar.
  • Vulnerabiliteti i zgjidhur (CVE-2025-039) qĂ« shkakton mbushje tĂ« buferit gjatĂ« ekzekutimit tĂ« funksionit assert(). Mbushja ndodh kur tregohet njĂ« emĂ«r programi mjaft i madh (argv[0]). Problemi konsiderohet si jo rrezikshĂ«m, pasi pĂ«rtej buferit shkruhen 4 byte, tĂ« cilat nuk mund tĂ« kontrollohen nga sulmuesi. MegjithatĂ«, Ă«shtĂ« interesante vetĂ« shfaqja e njĂ« vulnerabiliteti nĂ« funksionet e ndryshimesh qĂ« ontstaan nga njĂ« gabim gjatĂ« nxjerrjes sĂ« emrit tĂ« aplikacionit aktual.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster