Pagpagawas sa Glibc 2.39 system library ug ang GNU Binutils 2.42 set sa mga utilities

Human sa unom ka bulan nga pag-uswag, ang GNU C Library (glibc) 2.39 system library gipagawas, nga hingpit nga nagsunod sa mga kinahanglanon sa ISO C11 ug POSIX.1-2017 nga mga sumbanan. Ang bag-ong pagpagawas naglakip sa mga pag-ayo gikan sa 67 nga mga developer.

Ang pipila sa mga pagpaayo nga gipatuman sa Glibc 2.39 naglakip sa:

  • Gihatag na ang suporta para sa shadow stack nga gipaila sa kernel. Linux 6.6, nga nagbabag sa daghang mga exploit pinaagi sa paggamit sa mga kapabilidad sa hardware sa mga processor sa Intel aron mapanalipdan batok sa pag-overwrite sa return address gikan sa usa ka function kung adunay stack buffer overflow. Kini nga proteksyon molihok pinaagi sa pagtipig sa mga return address dili lamang sa regular nga stack apan usab sa usa ka lahi nga "shadow" stack, nga dili direkta nga mausab, pagkahuman mabalhin ang kontrol sa usa ka function. Sa dili pa mogawas sa function, ang return address gi-pop gikan sa shadow stack ug gitandi sa return address gikan sa main stack. Ang dili pagtugma sa mga address makamugna og exception, nga nagbabag sa mga sitwasyon diin ang usa ka exploit nakahimo sa pag-overwrite sa usa ka address sa main stack. Ang opsyon sa pagtukod nga "--enable-cet" gidugang aron mahimo kini nga proteksyon.
  • Gidugang bag-ong header file , gihubit sa draft nga ISO C2X nga sumbanan ug naglakip sa mga function stdc_leading_zeros, stdc_leading_ones, stdc_trailing_zeros, stdc_trailing_ones, stdc_first_leading_zero, stdc_first_leading_one, stdc_first_,_trailing , stdc_count_ones, s_single_bit, stdc_bit_width, stdc_bit_floor ug stdc_bit_ceil sa mga variant nga adunay mga tipo nga “unsigned char”, “unsigned mubo” , "unsigned int", "unsigned long int" ug "unsigned long long int".
  • Alang sa plataporma Linux Ang mga gimbuhaton nga posix_spawnattr_getcgroup_np ug posix_spawnattr_setcgroup_np, ingon man ang POSIX_SPAWN_SETCGROUP flag, gipatuman na. Gitugotan niini ang pag-set sa cgroupv2 sa usa ka bag-ong proseso gamit ang mga gimbuhaton nga posix_spawn ug posix_spawnp, nga nagwagtang sa mga kondisyon sa karera. Kini nga mga gimbuhaton mga extension sa GNU ug nanginahanglan sa kernel aron molihok. Linux uban ang suporta sa tawag sa sistema sa clone3.
  • Alang sa plataporma Linux Ang mga gimbuhaton nga pidfd_spawn ug pidfd_spawp napatuman na, nga susama sa semantika sa gimbuhaton nga posix_spawn, apan wala kini mobalik og process identifier (PID), apan usa ka file descriptor para gamiton sa mga gimbuhaton nga nagsuporta sa mekanismo sa PIDFD, sama sa pidfd_send_signal, poll, ug waitid (ang PIDFD nalangkit sa usa ka piho nga proseso ug dili mausab, samtang ang PID mahimong nalangkit sa laing proseso human matapos ang kasamtangang proseso nga nalangkit niini nga PID).
  • Alang sa plataporma Linux Gidugang ang pidfd_getpid function aron mahibal-an ang process identifier (PID) base sa process file descriptor (PIDFD) nga gibalik sa pid_spawn, fork_np ug pidfd_open functions.
  • Ang size modifier "wN" gidugang sa scanf family functions, gigamit para sa argumento sa mga tipo intN_t, int_leastN_t, uintN_t ug uint_leastN_t. Pananglitan, aron mabasa ang mga kantidad sa desimal nga adunay mga tipo nga int32_t ug int_least32_t, mahimo nimong ipiho ang "% w32d", ug ang mga kantidad sa hexadecimal mahimong ipiho nga "% w32x". Sa susama, ang "wfN" modifier gidugang sa int_fastN_t ug uint_fastN_t nga mga tipo nga gipaila sa draft nga ISO C2X nga sumbanan.
  • Gidugang ang setting nga "glibc.cpu.plt_rewrite", nga makapaarang sa pagsulat pag-usab sa PLT (Procedure Linkage Table) sa x86-64 nga mga sistema, diin ang linker mopuli sa dili direkta nga mga sanga sa PLT sa mga direkta.
  • Gidugang ang setting nga "glibc.mem.decorate_maps" aron makadugang ug dugang nga impormasyon sa alokasyon sa panumduman (sama sa thread stack nga gihimo sa pthread_create o memorya nga gigahin pinaagi sa malloc).
  • Ang istruktura nga "statvfs" karon nagpuno sa field nga "f_type" og impormasyon bahin sa tipo sa file system, katumbas sa mga sulod sa field sa istruktura nga "statfs". Kaniadto, Linux Ang "f_type" nga field kanunay adunay sulod nga 0.
  • Alang sa plataporma sa AArch64, ang mga anotasyon gidugang sa libmvec ug math.h nga nagtugot, kung gipiho ang kapilian nga "-ffast-math" kung magtukod, aron magamit ang vectoring sa tawag kung magtukod sa GCC 9 ug mas bag-ong mga bersyon sa compiler. Ang pag-vector kay gi-enable para sa mathematical functions 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 ug tanf.
  • Ang libcrypt library ug ang kaubang header file gikuha gikan sa package " " Giawhag ang mga nag-develop sa aplikasyon nga mobalhin sa alternatibong mga librarya sama sa libxcrypt.
  • Ang ldconfig utility karon molaktaw sa mga file nga adunay ';' nga karakter. sa ngalan sa file o nagtapos sa ".dpkg.tmp" ug ".dpkg.new", nga nagtugot kanimo sa paglikay sa pagproseso sa temporaryo nga mga file sa rpm ug dpkg package managers.
  • Ang suporta alang sa arkitektura sa ia64 (ia64*-*-linux-gnu), nga gigamit sa mga processor sa Intel Itanium, gihunong na.
  • Giayo ang mga kahuyangan:
    • Ang CVE-2023-6246, CVE-2023-6779, CVE-2023-6780 mga kritikal nga mga kahuyangan sa __vsyslog_internal() function, nga nagtugot sa usa sa pagpatuman sa code nga adunay taas nga mga pribilehiyo pinaagi sa mga manipulasyon sa paglunsad sa mga aplikasyon sa SUID.
    • Ang CVE-2023-4911 usa ka pagkahuyang sa Glibc ld.so nga nagtugot kanimo nga makakuha og mga pribilehiyo sa gamut sa sistema. Ang pagkahuyang tungod sa usa ka sayup sa string parsing code nga gitakda sa GLIBC_TUNABLES environment variable, nga mahimong moresulta sa parsed value nga gisulat sa gawas sa mga utlanan sa gigahin nga buffer. Adunay mga pagpahimulos sa pagtrabaho.
    • Ang CVE-2023-4806 kay usa ka walay gamit nga kahuyangan sa getaddrinfo function. Ang problema mahitabo kung ang NSS plugin nagpatuman lamang sa "_gethostbyname2_r" ug "_getcanonname_r" nga mga call-back, apan wala mosuporta sa "_gethostbyname3_r" nga tawag. Aron mapahimuslan ang pagkahuyang, ang DNS server kinahanglan nga ibalik ang daghang mga IPv6 ug IPv4 nga mga adres alang sa gihangyo nga host, nga mosangput sa pagkahagsa sa proseso nga gitawag nga function sa getaddrinfo alang sa pamilyang AF_INET6 kung ang mga bandera sa AI_CANONNAME, AI_ALL ug AI_V4MAPPED gitakda.
    • Ang CVE-2023-4527 kay usa ka vulnerability sa getaddrinfo function nga nagtugot sa datos nga mabasa gikan sa usa ka lugar gawas sa buffer boundary kung magproseso sa DNS nga tubag nga nadawat sa TCP nga mas dako pa sa 2048 bytes. Ang pagkahuyang mahitabo kung gamiton ang "no-aaaa" nga kapilian sa /etc/resolv.conf.

    Dugang pa, atong mamatikdan ang pagpagawas sa usa ka set sa sistema sa mga utility GNU Binutils 2.42, nga naglakip sa mga programa sama sa GNU linker, GNU assembler, nm, objdump, strings, strip.

    Sa bag-ong bersyon sa Binutils:

    • Usa ka opsyonal nga eksperimento "--scfi=experimental" ang gidugang sa assembler (gas) para sa x86-64 nga mga sistema aron ma-synthesize ang CFI (Control Flow Integrity) nga mga konstruksyon para sa sinulat sa kamot nga assembly code nga katumbas sa System V AMD64 ABI.
    • Gidugang ang "--extra-sym-info" nga kapilian sa pagbasa sa kaugalingon aron ipakita ang gipalapdan nga impormasyon bahin sa mga simbolo ("-symbols"), sama sa ngalan sa seksyon nga gi-refer sa st_shndx index.
    • Ang objcopy utility naghatag ug katakus sa paggamit sa "--set-section-flags" nga kapilian nga adunay "dako" nga kantidad aron itakda ang SHF_X86_64_LARGE nga seksyon sa bandila alang sa ELF nga mga butang sa x86-64 nga mga sistema. Ang kapilian nga "--visualize-jumps" nagpatuman sa suporta alang sa s390 nga arkitektura.
    • Kung gi-disassembling ang mga panudlo sa s390, ang abilidad sa pagpakita sa mga komento sa paghulagway sa mga panudlo gipatuman. Aron mahimo ang mga paghulagway, mahimo nimong ipiho ang "-M insndesc" nga kapilian sa objdump, ug ang "set disassembler-options insndesc" nga kapilian sa gdb.
    • Gidugang ang "-z mark-plt" ug "-z nomark-plt" nga mga opsyon sa linker aron markahan ang mga entry sa PLT table gamit ang DT_X86_64_PLT, DT_X86_64_PLTSZ ug DT_X86_64_PLTENT tag.
    • Gidugang nga suporta alang sa reverse sorting sa linker.
    • Gidugang ang "--warn-execstack-objects", "--error-execstack" ug "--error-rxw-segments" nga mga kapilian sa pag-output sa mga pasidaan o mga sayup kung gigamit sa mga executable stack nga mga butang.
    • Gipatuman ang suporta alang sa ABI 2.30 sa arkitektura sa LoongArch, ingon man suporta alang sa bag-ong mga panudlo nga gihubit sa detalye sa LoongArch 1.10.
    • Gidugang nga suporta alang sa set sa panudlo sa KVX nga gigamit sa mga processor sa Kalray (pananglitan, gigamit sa SoC Coolidge).
    • Alang sa mga sistema nga gibase sa arkitektura sa Intel, ang suporta alang sa mga extension gidugang:
      • Intel APX: 32 GPRs, NDD, PUSH2/POP2, PUSHP/POPP.
      • USER_MSR.
      • AVX10.1.
      • PBNDKB.
      • SM4.
      • SM3.
      • SHA512.
      • AVX-VNNI-INT16.
    • Ang suporta alang sa mga extension gidugang sa RISC-V architecture port:
      • T-Head (XTheadVector, XTheadZvlsseg ug XTheadZvamo).
      • CORE-V (XCVmac, XCValu).
      • SiFive VCIX (XSfVcp).
    • Ang suporta alang sa mga extension gidugang sa pantalan alang sa arkitektura sa AArch64:
      • SVE2.1 (Scalable Vector Extension 2.1).
      • SME2.1 (Scalable Matrix Extension 2.1).
      • B16B16 (BFloat16 ug BFloat16 para sa SVE2 ug SME2).
      • RASv2 (Kasaligan, Pagkaanaa ug Kaarang sa Serbisyo v2).
      • LSE128 (128-bit Atomic).
      • GCS (Guarded Control Stac).
      • CHK (Susihon ang Kahimtang sa Feature).
      • SPECRES2 (Enhanced Speculation Restriction).
      • LRCPC3 (Load-Acquire RCpc).
      • ANG (Translation Hardening).
      • ITE (Pagsubay sa Instruksyon).
      • D128 (128-bit memory page table descriptors).
      • XS (XS memory attribute).
    • Gidugang nga suporta alang sa AArch64 Cortex-A520, Cortex-A720, Cortex-X3 ug Cortex-X4 nga mga processor.
    • Para sa pagpahiuyon sa clang/LLVM assembler, ang BPF assembler midugang og suporta para sa pagbulag sa mga komento sa mga simbolo nga “#” ug “//”, ingon man sa paggamit sa simbolo nga “;” sa pagbulag sa mga ekspresyon sulod sa usa ka linya (";" dili na magamit para sa mga komento).

    Source: opennet.ru

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster