Lëshimi i bibliotekës së sistemit Glibc 2.39 dhe paketës së utiliteteve GNU Binutils 2.42

Pas six muaj zhvillimi, u publikua lëshimi i bibliotekës sistemore GNU C Library (glibc) 2.39, e cila plotëson plotësisht kërkesat e standardeve ISO C11 dhe POSIX.1-2017. Në këtë version të ri janë përfshirë rregullime nga 67 zhvillues.

Disa nga përmirësimet në Glibc 2.39 përfshijnë:

  • EshtĂ« siguruar mbĂ«shtetje pĂ«r stakun e hirit (shadow stack), i cili shfaqet nĂ« bĂ«rthamĂ«n Linux 6.6 dhe lejon bllokimin e shumĂ« eksploiteve duke pĂ«rdorur kapacitete harduerike tĂ« procesorĂ«ve Intel pĂ«r mbrojtje nga rikthimi i adresĂ«s pas funksionit nĂ« rast tĂ« mbingarkesĂ«s sĂ« tamponit nĂ« rezervĂ«n e harduerit. Thelbi i mbrojtjes Ă«shtĂ« se pas kalimit tĂ« kontrollit nĂ« funksion, adresat e rikthimit ruhen nga procesori jo vetĂ«m nĂ« rezervĂ«n e zakonshme, por edhe nĂ« njĂ« rezervĂ« tĂ« veçantĂ« 'shadow' e cila nuk mund tĂ« ndryshohet drejtpĂ«rdrejt. Para daljes nga funksioni, adresa e rikthimit eksportohet nga rezervi i hirit dhe krahasohet me adresĂ«n e rikthimit nĂ« rezervĂ«n primare. MospĂ«rputhja e adresave çon nĂ« gjenerimin e njĂ« pĂ«rjashtimi, duke bllokuar situatat kur njĂ« eksploit ka arritur tĂ« rishkruajĂ« adresĂ«n nĂ« rezervĂ«n primare. PĂ«rfshirja e tij Ă«shtĂ« bĂ«rĂ« me opsionin e ndĂ«rtimit '—enable-cet'.
  • ËshtĂ« shtuar njĂ« skedar i ri mbĂ«shtjellĂ«s <stdbit.h>, i pĂ«rcaktuar nĂ« draftin e standardit ISO C2X, i cili pĂ«rfshin funksionet stdc_leading_zeros, stdc_leading_ones, stdc_trailing_zeros, stdc_trailing_ones, stdc_first_leading_zero, stdc_first_leading_one, stdc_first_trailing_zero, stdc_first_trailing_one, stdc_count_zeros, stdc_count_ones, stdc_has_single_bit, stdc_bit_width, stdc_bit_floor dhe stdc_bit_ceil nĂ« variante me tipet 'unsigned char', 'unsigned short', 'unsigned int', 'unsigned long int' dhe 'unsigned long long int'.
  • PĂ«r platformĂ«n Linux janĂ« realizuar funksionet posix_spawnattr_getcgroup_np dhe posix_spawnattr_setcgroup_np, si dhe flagu POSIX_SPAWN_SETCGROUP, tĂ« cilat lejojnĂ« konfigurimin e cgroupv2 nĂ« njĂ« proces tĂ« ri nĂ«pĂ«rmjet funksioneve posix_spawn dhe posix_spawnp, duke eliminuar ndodhinĂ« e gjendjes konkurruese. Funksionet janĂ« zgjerime tĂ« GNU dhe kĂ«rkojnĂ« njĂ« bĂ«rthamĂ« Linux me mbĂ«shtetje pĂ«r thirrjen e sistemit clone3.
  • PĂ«r platformĂ«n Linux janĂ« realizuar funksonet pidfd_spawn dhe pidfd_spawn, tĂ« cilat janĂ« tĂ« ngjashme me funksionin posix_spawn, por kthejnĂ« jo njĂ« identifikator procesi (PID), por njĂ« descriptor skedari pĂ«r pĂ«rdorim nĂ« funksionet qĂ« mbĂ«shtesin mekanizmin PIDFD, si pidfd_send_signal, poll dhe waitid (PIDFD lidhet me njĂ« proces tĂ« caktuar dhe nuk ndryshon, ndĂ«rsa PID mund tĂ« lidhet me njĂ« proces tjetĂ«r pas pĂ«rfundimit tĂ« procesit aktual, tĂ« asocuar me kĂ«tĂ« PID).
  • PĂ«r platformĂ«n Linux Ă«shtĂ« shtuar funksioni pidfd_getpid pĂ«r tĂ« pĂ«rcaktuar identifikatorin e procesit (PID) nĂ« bazĂ« tĂ« descriptorit tĂ« procesit (PIDFD), i kthyer nga funksionet pid_spawn, fork_np dhe pidfd_open.
  • NĂ« funksionet e familjes scanf Ă«shtĂ« shtuar modifikatori i madhĂ«sisĂ« 'wN', i aplikuar pĂ«r argumente me llojet intN_t, int_leastN_t, uintN_t dhe uint_leastN_t. PĂ«r shembull, pĂ«r tĂ« lexuar vlera dekodike me llojet int32_t dhe int_least32_t mund tĂ« pĂ«rcaktohet '%w32d', ndĂ«rsa ato nĂ« bazĂ«n e 16-tĂ« - '%w32x'. Po ashtu Ă«shtĂ« shtuar modifikatori 'wfN' pĂ«r llojet int_fastN_t dhe uint_fastN_t, tĂ« paraqitura nĂ« draftin e standardit ISO C2X.
  • ËshtĂ« shtuar konfigurimi 'glibc.cpu.plt_rewrite', i cili pĂ«rfshin rikthimin e PLT (Procedure Linkage Table) nĂ« sistemet x86-64, ku lidhĂ«si zĂ«vendĂ«son kalimet indirekte nĂ« PLT me tĂ« drejtat.
  • ËshtĂ« shtuar konfigurimi 'glibc.mem.decorate_maps' pĂ«r tĂ« shtuar informacion shtesĂ« mbi alokimin e memories (p.sh., pĂ«r rezervĂ«n e skedarĂ«ve tĂ« krijuar nga funksioni pthread_create, ose memori e alokuar pĂ«rmes malloc).
  • NĂ« strukturĂ«n 'statvfs' Ă«shtĂ« siguruar plotĂ«simi i fushĂ«s 'f_type' me informacionin pĂ«r tipin e FS, ekuivalent me pĂ«rmbajtjen e fushĂ«s nĂ« strukturĂ«n 'statfs'. MĂ« parĂ« nĂ« Linux, nĂ« fushĂ«n 'f_type' shkruhej gjithmonĂ« 0.
  • PĂ«r platformĂ«n AArch64, nĂ« libmvec dhe math.h janĂ« shtuar annotime, qĂ« lehtĂ«sojnĂ« pĂ«rdorimin e vektorizimit tĂ« thirrjeve gjatĂ« ndĂ«rtimit me opsionin '-ffast-math' nĂ« GCC 9 dhe versione mĂ« tĂ« reja tĂ« kompajlerit. Vektorizimi aktivizohet pĂ«r funksionet matematikore acos, acosf, asin, asinf, atan, atanf, atan2, atan2f, cos, cosf, exp, expf, exp10, exp10f, exp2, exp2f, expm1, expm1f, log, logf, log10, log10f, log1p, log1pf, log2, log2f, sin, sinf, tan dhe tanf.
  • Nga pĂ«rbĂ«rja Ă«shtĂ« hequr biblioteka libcrypt dhe skedari mbĂ«shtjellĂ«s lidhur me tĂ« ''. Zhvilluesve tĂ« aplikacioneve rekomandohet kalimi nĂ« pĂ«rdorimin e biblioteka alternative, si libxcrypt.
  • NĂ« utilitarin ldconfig tani kalohen skedarĂ«t me simbolin ‘;’ nĂ« emrin e skedarit ose qĂ« pĂ«rfundojnĂ« me '.dpkg.tmp' dhe '.dpkg.new', duke lejuar qĂ« tĂ« mos pĂ«rpunohen skedarĂ«t temporar tĂ« menaxherĂ«ve tĂ« paketave rpm dhe dpkg.
  • Ka ndalur mbĂ«shtetje pĂ«r arkitekturĂ«n ia64 (ia64*-*-linux-gnu), e pĂ«rdorur nĂ« procesorĂ«t Intel Itanium.
  • Identifikuar dobĂ«si:
    • CVE-2023-6246, CVE-2023-6779, CVE-2023-6780 — vulnerabilitete kritike nĂ« funksionin __vsyslog_internal(), qĂ« lejojnĂ« pĂ«rmes manipulimeve me ekzekutimin e aplikacioneve SUID pĂ«r tĂ« arritur ekzekutimin e kodit tĂ« tyre me privilegje tĂ« ngritura.
    • CVE-2023-4911 — njĂ« vulnerabilitet nĂ« Glibc ld.so, qĂ« lejon marrjen e tĂ« drejtave root nĂ« sistem. Vulnerabiliteti shkaktohet nga njĂ« gabim nĂ« kodin e analizĂ«s sĂ« vargjeve tĂ« specifikuara nĂ« variablin e mjedisit GLIBC_TUNABLES, dhe mund tĂ« çojĂ« nĂ« shkrimin e vlerĂ«s sĂ« analizuar jashtĂ« tamponit tĂ« alokuar. EkzistojnĂ« eksploite funksionale.
    • CVE-2023-4806 — njĂ« vulnerabilitet nĂ« funksionin getaddrinfo, i shkaktuar nga qasja nĂ« memorjen pas çlirimit tĂ« saj (use-after-free). Problemi shfaqet kur plugins NSS implementon vetĂ«m thirrjet 'callback' '_gethostbyname2_r' dhe '_getcanonname_r', por nuk mbĂ«shtet thirrjen '_gethostbyname3_r'. PĂ«r tĂ« shfrytĂ«zuar vulnerabilitetin, serveri DNS duhet tĂ« kthejĂ« njĂ« numĂ«r tĂ« madh adresash IPv6 dhe IPv4 pĂ«r hostin e kĂ«rkuar, duke shkaktuar rĂ«nien e procesit qĂ« thirri funksionin getaddrinfo pĂ«r familjen AF_INET6 kur janĂ« caktuar flagjet AI_CANONNAME, AI_ALL dhe AI_V4MAPPED.
    • CVE-2023-4527 — njĂ« vulnerabilitet nĂ« funksionin getaddrinfo, qĂ« lejon tĂ« lexohen tĂ« dhĂ«na nga jashtĂ« kufijve tĂ« tamponit kur pĂ«rpunon njĂ« pĂ«rgjigje DNS tĂ« marrĂ« pĂ«rmes TCP, me njĂ« madhĂ«si mĂ« tĂ« madhe se 2048 byte. Vulnerabiliteti shfaqet kur pĂ«rdoret opsioni 'no-aaaa' nĂ« /etc/resolv.conf.

    Për më tepër, mund të theksohet lëshimi i një grupi të utiliteteve sistemore GNU Binutils 2.42, i cili përfshin programe të tilla si GNU linker, GNU assembler, nm, objdump, strings, strip.

    Në versionin e ri të Binutils:

    • NĂ« assembler (gas) pĂ«r sistemet x86-64 Ă«shtĂ« shtuar njĂ« opsion eksperimental '--scfi=experimental' pĂ«r sintezĂ«n e strukturave CFI (Control Flow Integrity) pĂ«r kodin assembler tĂ« shkruar manualisht, nĂ« pĂ«rputhje me System V AMD64 ABI.
    • NĂ« programin readelf Ă«shtĂ« shtuar opsioni '--extra-sym-info' pĂ«r tĂ« dhĂ«nĂ« informacione tĂ« zgjeruara mbi simbolet ('--symbols'), si emri i seksionit tĂ« cilin e referon indeksi st_shndx.
    • NĂ« utilitarin objcopy Ă«shtĂ« ofruar mundĂ«sia e pĂ«rdorimit nĂ« opsionin '--set-section-flags' tĂ« vlerĂ«s 'large' pĂ«r tĂ« vĂ«nĂ« seksionin e flagut SHF_X86_64_LARGE pĂ«r objektet ELF nĂ« sistemet x86-64. NĂ« opsionin '--visualize-jumps' Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r arkitekturĂ«n s390.
    • NĂ« disasemblerin e instrukcioneve s390 Ă«shtĂ« realizuar mundĂ«sia e shfaqjes sĂ« komenteve nĂ« pĂ«rshkrimet e instrukcioneve. PĂ«r tĂ« pĂ«rfshirĂ« pĂ«rshkrimet nĂ« objdump mund tĂ« caktohet parametri '-M insndesc', ndĂ«rsa nĂ« gdb — konfigurimi 'set disassembler-options insndesc'.
    • NĂ« linker janĂ« shtuar opsionet '-z mark-plt' dhe '-z nomark-plt' pĂ«r tĂ« markuar regjistrat nĂ« tabelĂ«n PLT, duke pĂ«rdorur etiketat DT_X86_64_PLT, DT_X86_64_PLTSZ dhe DT_X86_64_PLTENT.
    • NĂ« linker Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r renditjen nĂ« rendin e kundĂ«rt.
    • Shtuar opsionet '--warn-execstack-objects', '--error-execstack' dhe '--error-rxw-segments' pĂ«r tĂ« dhĂ«nĂ« paralajmĂ«rime ose gabime gjatĂ« pĂ«rdorimit tĂ« objekteve tĂ« stack-ut ekzekutues.
    • Implementuar mbĂ«shtetje pĂ«r ABI 2.30 tĂ« arkitekturĂ«s LoongArch, si dhe mbĂ«shtetje pĂ«r instrukcionet e reja tĂ« pĂ«rcaktuara nĂ« specifikimin LoongArch 1.10.
    • Shtuar mbĂ«shtetje pĂ«r grupin e instrukcioneve KVX qĂ« pĂ«rdoren nĂ« procesorĂ«t Kalray (p.sh., pĂ«rdoren nĂ« SoC Coolidge).
    • PĂ«r sistemet e bazuara nĂ« arkitekturĂ«n Intel Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r zgjerime:
      • Intel APX: 32 GPRs, NDD, PUSH2/POP2, PUSHP/POPP.
      • USER_MSR.
      • AVX10.1.
      • PBNDKB.
      • SM4.
      • SM3.
      • SHA512.
      • AVX-VNNI-INT16.
    • NĂ« portin pĂ«r arkitekturĂ«n RISC-V Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r zgjerime:
      • T-Head (XTheadVector, XTheadZvlsseg dhe XTheadZvamo).
      • CORE-V (XCVmac, XCValu).
      • SiFive VCIX (XSfVcp).
    • NĂ« portin pĂ«r arkitekturĂ«n AArch64 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r zgjerime:
      • SVE2.1 (Scalable Vector Extension 2.1).
      • SME2.1 (Scalable Matrix Extension 2.1).
      • B16B16 (BFloat16 dhe BFloat16 pĂ«r SVE2 dhe SME2).
      • RASv2 (Reliability, Availability and Serviceability v2).
      • LSE128 (128-bit Atomic).
      • GCS (Guarded Control Stack).
      • CHK (Check Feature Status).
      • SPECRES2 (Enhanced Speculation Restriction).
      • LRCPC3 (Load-Acquire RCpc).
      • THE (Translation Hardening).
      • ITE (Instruction Trace).
      • D128 (128-bit e drejtat e tabelĂ«s sĂ« faqeve tĂ« memories).
      • XS (atributi i memories XS).
    • Shtuar mbĂ«shtetje pĂ«r procesorĂ«t AArch64 Cortex-A520, Cortex-A720, Cortex-X3 dhe Cortex-X4.
    • NĂ« assembler BPF pĂ«r pĂ«rputhshmĂ«rinĂ« me assemblerin clang/LLVM Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ndarjen e komenteve me simbolet '#' dhe '//' si dhe pĂ«rdorimin e simbolit ';' pĂ«r ndarjen e shprehjeve nĂ« rresht (';' nuk mund tĂ« pĂ«rdoret mĂ« pĂ«r komente).

    Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster