ืฉื—ืจื•ืจ ืกืคืจื™ื™ืช ืžืขืจื›ืช Glibc 2.35

ืœืื—ืจ ืฉื™ืฉื” ื—ื•ื“ืฉื™ื ืฉืœ ืคื™ืชื•ื—, ืฉื•ื—ืจืจื” ืกืคืจื™ื™ืช ื”ืžืขืจื›ืช GNU C Library (glibc) 2.35, ืืฉืจ ืขื•ืžื“ืช ื‘ืžืœื•ืื” ื‘ื“ืจื™ืฉื•ืช ืฉืœ ืชืงื ื™ ISO C11 ื•-POSIX.1-2017. ื”ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื” ื›ื•ืœืœืช ืชื™ืงื•ื ื™ื ืž-66 ืžืคืชื—ื™ื.

ื—ืœืง ืžื”ืฉื™ืคื•ืจื™ื ื”ืžื™ื•ืฉืžื™ื ื‘-Glibc 2.35 ื›ื•ืœืœื™ื:

  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ ื”ืžืงื•ื "C.UTF-8", ื”ื›ื•ืœืœ ื›ืœืœื™ ืื™ืกื•ืฃ ืขื‘ื•ืจ ื›ืœ ืงื•ื“ื™ Unicode, ืืš ื›ื“ื™ ืœื—ืกื•ืš ื‘ืžืงื•ื ืžื•ื’ื‘ืœ ืœืฉื™ืžื•ืฉ ื‘ื˜ื•ื•ื—ื™ ASCII ื‘ืคื•ื ืงืฆื™ื•ืช fnmatch, regexec ื•-regcomp. ื”ืžืงื•ื ื”ื•ื ื›-400 KB, ืžืชื•ื›ื 346 KB ื”ื ื ืชื•ื ื™ LC_CTYPE ืขื‘ื•ืจ Unicode, ื•ื“ื•ืจืฉ ื”ืชืงื ื” ื ืคืจื“ืช (ืœื ืžื•ื‘ื ื™ืช ื‘-Glibc).
  • ื ืชื•ื ื™ ืงื™ื“ื•ื“, ืžื™ื“ืข ืขืœ ืกื•ื’ ืชื•ื•ื™ื ื•ื˜ื‘ืœืื•ืช ืชืขืชื™ืง ืขื•ื“ื›ื ื• ื›ื“ื™ ืœืชืžื•ืš ื‘ืžืคืจื˜ Unicode 14.0.0.
  • IN ื• ืžื™ื•ืฉืžื™ื ืคื•ื ืงืฆื™ื•ืช ื•ืคืงื•ื“ื•ืช ืžืืงืจื• ื”ืžืขื’ืœื•ืช ืืช ื”ืชื•ืฆืื” ืœืกื•ื’ ืฆืจ ื™ื•ืชืจ: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafN, fMfmafN, fMfmafN ื•-fMfmaf Nx. ื”ืคื•ื ืงืฆื™ื•ืช ืžืชื•ืืจื•ืช ื‘ืžืคืจื˜ื™ื TS 18661-1:2014, TS 18661-3:2015 ื•ื ื•ืกืคื• ืœื˜ื™ื•ื˜ื” ืฉืœ โ€‹โ€‹ืชืงืŸ ISO C2X C ื”ืขืชื™ื“ื™.
  • IN ื• ื”ื˜ืžื™ืขื• ืคื•ื ืงืฆื™ื•ืช ื•ืคืงื•ื“ื•ืช ืžืืงืจื• ืœืžืฆื™ืืช ื”ืžื™ื ื™ืžื•ื ื•ื”ืžืงืกื™ืžื•ื ืฉืœ ืžืกืคืจื™ ื ืงื•ื“ื” ืฆืคื” ืขื ื”ืกื•ื’ื™ื float, long double, _FloatN ื•-_FloatNx, ื”ืžืชื•ืืจื™ื ื‘ืžืคืจื˜ IEEE 754-2019 ื•ื ื•ืกืคื• ืœื˜ื™ื•ื˜ื” ืฉืœ โ€‹โ€‹ืชืงืŸ ISO C2X C ื”ืขืชื™ื“ื™: fmaximum, fmaximum_num , fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
  • IN ื ื•ืกืคื• ืงื‘ื•ืขื™ื ืขื‘ื•ืจ ืžืกืคืจื™ ื ืงื•ื“ื” ืฆืคื” ื™ื—ื™ื“ื” ื“ื™ื•ืง: M_Ef, M_LOG2Ef, M_LOG10Ef, M_LN2f, M_LN10f, M_PIf, M_PI_2f, M_PI_4f, M_1_PIf, M_2_PIf, M_2_SQRTPIf, M__SQS.
  • ืขื‘ื•ืจ ืคื•ื ืงืฆื™ื•ืช exp10 ื‘ืงื•ื‘ืฅ ื›ื•ืชืจืช ื ื•ืกืคื• ืคืงื•ื“ื•ืช ืžืืงืจื• ืžืชืื™ืžื•ืช ืฉืื™ื ืŸ ืงืฉื•ืจื•ืช ืœืกื•ื’ื™ื ืกืคืฆื™ืคื™ื™ื.
  • IN ื”ื•ืกื™ืฃ ืืช ื”ืžืืงืจื• _PRINTF_NAN_LEN_MAX ื”ืžื•ืฆืข ื‘ื˜ื™ื•ื˜ืช ืชืงืŸ ISO C2X.
  • ื ื•ืกืคื• ืžืคืจื˜ื™ ืคื•ืจืžื˜ "%b" ื•-"%B" ืœืžืฉืคื—ืช ื”ืคื•ื ืงืฆื™ื•ืช printf ื›ื“ื™ ืœื”ื“ืคื™ืก ืžืกืคืจื™ื ืฉืœืžื™ื ื‘ื™ื™ืฆื•ื’ ื‘ื™ื ืืจื™.
  • ืžืขืจื›ืช ื”ืงื™ืฉื•ืจ ื”ื“ื™ื ืžื™ ืžื™ื™ืฉืžืช ืืœื’ื•ืจื™ืชื ืžื™ื•ืŸ DSO ื—ื“ืฉ ื”ืžืฉืชืžืฉ ื‘ื—ื™ืคื•ืฉ ืขื•ืžืง ืจืืฉื•ืŸ (DFS) ื›ื“ื™ ืœื˜ืคืœ ื‘ื‘ืขื™ื•ืช ื‘ื™ืฆื•ืขื™ื ื‘ืขืช ื˜ื™ืคื•ืœ ื‘ืชืœื•ืช ื‘ืœื•ืœืื”. ืœื‘ื—ื™ืจืช ืืœื’ื•ืจื™ืชื ื”ืžื™ื•ืŸ ืฉืœ DSO, ืžื•ืฆืข ื”ืคืจืžื˜ืจ glibc.rtld.dynamic_sort, ืื•ืชื• ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืœ-"1" ื›ื“ื™ ืœื—ื–ื•ืจ ืœืืœื’ื•ืจื™ืชื ื”ื™ืฉืŸ.
  • ื”-ABI ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ืคื•ื ืงืฆื™ื” ื—ื“ืฉื” '__memcmpeq', ื”ืžืฉืžืฉืช ืžื”ื“ืจื™ื ื›ื“ื™ ืœื™ื™ืขืœ ืืช ื”ืฉื™ืžื•ืฉ ื‘-'memcmp' ืื ื”ืขืจืš ื”ืžื•ื—ื–ืจ ืขืœ ื™ื“ื™ ืคื•ื ืงืฆื™ื” ื–ื• ืžืฉืžืฉ ืจืง ื›ื“ื™ ืœื‘ื“ื•ืง ืืช ืžืฆื‘ ื”ื”ืฉืœืžื” ืฉืœ ืคืขื•ืœื”.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืจื™ืฉื•ื ืื•ื˜ื•ืžื˜ื™ ืฉืœ ืฉืจืฉื•ืจื™ื ื‘ืืžืฆืขื•ืช ืงืจื™ืืช ื”ืžืขืจื›ืช rseq (ืจืฆืคื™ ื”ืคืขืœื” ืžื—ื“ืฉ) ืฉืกื•ืคืงื” ืžืื– ืœื™ื‘ืช ืœื™ื ื•ืงืก 4.18. ืงืจื™ืืช ืžืขืจื›ืช rseq ืžืืคืฉืจืช ืœืืจื’ืŸ ื‘ื™ืฆื•ืข ืจืฆื™ืฃ ืฉืœ ืงื‘ื•ืฆืช ื”ื•ืจืื•ืช ืฉืื™ื ื” ืžื•ืคืจืขืช ื•ืžืืฉืจืช ืืช ื”ืชื•ืฆืื” ืขืœ ื™ื“ื™ ื”ื”ื•ืจืื” ื”ืื—ืจื•ื ื” ื‘ืงื‘ื•ืฆื”. ื‘ืขื™ืงืจื• ืฉืœ ื“ื‘ืจ, ื”ื•ื ืžืกืคืง ืืžืฆืขื™ ืœื‘ื™ืฆื•ืข ืื˜ื•ืžื™ ืžื”ื™ืจ ืžืื•ื“ ืฉืœ ืคืขื•ืœื•ืช ืฉืื ืžื•ืคืจืขื•ืช ืขืœ ื™ื“ื™ ื—ื•ื˜ ืื—ืจ, ืžื ืงื™ื ื•ืžื ืกื™ื ืฉื•ื‘.
  • ื ื•ืกืฃ ืกื™ืžืœื™ื ืง /usr/bin/ld.so.
  • ืžื›ืœื•ืœ ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœ ื›ืœ ืงื‘ืฆื™ ื”ื”ืคืขืœื” ืฉืœ ืชื•ื›ื ื™ื•ืช ืžืฉื•ื‘ืฆื•ืช ื•ืขืจื›ืช ื”ื‘ื“ื™ืงื” ื‘ืžืฆื‘ PIE (ืืคืฉืจื•ืช ื”ืคืขืœื” ื‘ืœืชื™ ืชืœื•ื™ื” ื‘ืžื™ืงื•ื) ืžืกื•ืคืงืช. ื›ื“ื™ ืœื”ืฉื‘ื™ืช ื”ืชื ื”ื’ื•ืช ื–ื•, ืžืกื•ืคืงืช ื”ืืคืฉืจื•ืช "--disable-default-pie".
  • ืขื‘ื•ืจ ืœื™ื ื•ืงืก, ื ื•ืกืคื” ื”ื’ื“ืจื” glibc.malloc.hugetlb ื›ื“ื™ ืœืืคืฉืจ ืืช ื”ืžืขื‘ืจ ืœืžื™ืžื•ืฉ malloc ืœื”ืฉืชืžืฉ ื‘ืงืจื™ืืช ื”ืžืขืจื›ืช ืฉืœ madvise ืขื ื”ื“ื’ืœ MADV_HUGEPAGE ืขื‘ื•ืจ mmap ื•-sbrk, ืื• ืœื”ืฉืชืžืฉ ื™ืฉื™ืจื•ืช ื‘ื“ืคื™ ื–ื™ื›ืจื•ืŸ ื’ื“ื•ืœื™ื ืขืœ ื™ื“ื™ ืฆื™ื•ืŸ ื”ื“ื’ืœ MAP_HUGETLB ื‘-mmap ืฉื™ื—ื•ืช. ื‘ืžืงืจื” ื”ืจืืฉื•ืŸ, ื ื™ืชืŸ ืœื”ืฉื™ื’ ืฉื™ืคื•ืจื™ ื‘ื™ืฆื•ืขื™ื ืื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-Dage Pages Transparent ื‘-Madvise, ื•ื‘ืžืงืจื” ื”ืฉื ื™, ื ื™ืชื ืช ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ื“ืคื™ื ื’ื“ื•ืœื™ื ืฉืฉืžื•ืจื™ื ื‘ืžืขืจื›ืช (Huge Pages).
  • ื ื•ืกืคื” ืคื•ื ืงืฆื™ื™ืช _dl_find_object ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื” ื›ื“ื™ ืœื”ื•ืกื™ืฃ ืžื™ื“ืข ืขืœ ืžื—ืกื ื™ืช ืฉื™ื—ื•ืช.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช OpenRISC (or1k-linux-gnu) ื‘ืžืฆื‘ soft-float. ื”ื™ืฆื™ืื” ื“ื•ืจืฉืช binutils 2.35, GCC 11 ื•- Linux Kernel 5.4.
  • ื ื•ืกืฃ ื“ื’ืœ ื‘ื ื™ื™ื” "--with-rtld-early-cflags", ืืฉืจ ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ื›ื“ื™ ืœืฆื™ื™ืŸ ื“ื’ืœื™ ืงื•ืžืคื™ืœืฆื™ื” ื ื•ืกืคื™ื ื”ืžืฉืžืฉื™ื ื‘ืขืช ื‘ื ื™ื™ืช ื”ืงื•ื“ ื”ืจืืฉื•ื ื™ ืœืงื™ืฉื•ืจ ื“ื™ื ืžื™.
  • ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช ืœื™ื ื•ืงืก, ื ื•ืกืคื” ื”ืคื•ื ืงืฆื™ื” epoll_pwait2, ืืฉืจ ืฉื•ื ื” ืž-epoll_wait ืขืœ ื™ื“ื™ ืฆื™ื•ืŸ ืคืกืง ื–ืžืŸ ื‘ื“ื™ื•ืง ืฉืœ ื ื ื•-ืฉื ื™ื•ืช.
  • ื ื•ืกืคื” ืคื•ื ืงืฆื™ื™ืช posix_spawn_file_actions_addtcsetpgrp_np ื›ื“ื™ ืœื‘ื˜ืœ ืชื ืื™ ืžื™ืจื•ืฅ ื‘ืขืช ื”ื’ื“ืจืช ืžืกื•ืฃ ื‘ืงืจื” ืœืชื”ืœื™ืš ื—ื“ืฉ.
  • ืขื‘ื•ืจ ื™ื™ืฉื•ืžื™ื ื”ื™ื“ื•ืจื™ื™ื ืขื Glibc ื•-GCC 12+, ืžื™ื•ืฉื ืžืฆื‘ ื”ื”ื’ื ื” "_FORTIFY_SOURCE=3", ืืฉืจ ืžื–ื”ื” ื’ืœื™ืฉื” ืืคืฉืจื™ืช ืฉืœ ืžืื’ืจ ื‘ืขืช ื‘ื™ืฆื•ืข ืคื•ื ืงืฆื™ื•ืช ืžื—ืจื•ื–ื•ืช ื”ืžื•ื’ื“ืจื•ืช ื‘ืงื•ื‘ืฅ ื”ื›ื•ืชืจืช string.h. ื”ื”ื‘ื“ืœ ืžืžืฆื‘ "_FORTIFY_SOURCE=2" ืžืกืชื›ื ื‘ื‘ื“ื™ืงื•ืช ื ื•ืกืคื•ืช, ืฉืขืœื•ืœื•ืช ืœื”ื•ื‘ื™ืœ ืœื™ืจื™ื“ื” ื‘ื‘ื™ืฆื•ืขื™ื.
  • ื”ืชืžื™ื›ื” ื‘-Intel MPX (ื”ืจื—ื‘ื•ืช ื”ื’ื ืช ื–ื™ื›ืจื•ืŸ), ื”ืžืฉืžืฉื•ืช ืœื‘ื“ื™ืงืช ืžืฆื‘ื™ืขื™ื ืขื‘ื•ืจ ื’ื‘ื•ืœื•ืช ื”ื–ื™ื›ืจื•ืŸ, ื”ื•ืคืกืงื” (ื˜ื›ื ื•ืœื•ื’ื™ื” ื–ื• ืœื ื”ืคื›ื” ืœื ืคื•ืฆื” ื•ื›ื‘ืจ ื”ื•ืกืจื” ืž-GCC ื•-LLVM).
  • ืžื ื’ื ื•ืŸ ื”-Prelink ื•ืžืฉืชื ื™ ื”ืกื‘ื™ื‘ื” ื”ืžืฉื•ื™ื›ื™ื ืœื• LD_TRACE_PRELINKING ื•-LD_USE_LOAD_BIAS ื”ื•ืฆืื• ืžืฉื™ืžื•ืฉ ื•ื™ื•ืกืจื• ื‘ืžื”ื“ื•ืจื” ืขืชื™ื“ื™ืช.

    ืคื’ื™ืขื•ื™ื•ืช ืฉืชื•ืงื ื•:

    • CVE-2022-23218, CVE-2022-23219 โ€“ ื’ืœื™ืฉืช ืžืื’ืจ ื‘ืคื•ื ืงืฆื™ื•ืช svcunix_create ื•-clnt_create, ื”ื ื’ืจืžืช ืขืœ ื™ื“ื™ ื”ืขืชืงืช ื”ืชื•ื›ืŸ ืฉืœ ืคืจืžื˜ืจ ืฉื ื”ืงื•ื‘ืฅ ืืœ ื”ืžื—ืกื ื™ืช ืžื‘ืœื™ ืœื‘ื“ื•ืง ืืช ื’ื•ื“ืœ ื”ื ืชื•ื ื™ื ืฉื”ื•ืขืชืงื•. ืขื‘ื•ืจ ื™ื™ืฉื•ืžื™ื ืฉื ื‘ื ื• ืœืœื ื”ื’ื ืช ืžื—ืกื ื™ืช ื•ืžืฉืชืžืฉื™ื ื‘ืคืจื•ื˜ื•ืงื•ืœ "ื™ื•ื ื™ืงืก", ื”ืคื’ื™ืขื•ืช ืขืœื•ืœื” ืœื”ื•ื‘ื™ืœ ืœื‘ื™ืฆื•ืข ืงื•ื“ ืชื•ืงืฃ ื‘ืขืช ืขื™ื‘ื•ื“ ืฉืžื•ืช ืงื‘ืฆื™ื ืืจื•ื›ื™ื ืžืื•ื“.
    • CVE-2021-3998 ื”ื™ื ืคื’ื™ืขื•ืช ื‘ืคื•ื ืงืฆื™ื” realpath() ืขืงื‘ ื”ื—ื–ืจื”, ื‘ืชื ืื™ื ืžืกื•ื™ืžื™ื, ืฉืœ ืขืจืš ืฉื’ื•ื™ ื”ืžื›ื™ืœ ื ืชื•ื ื™ื ืฉื™ื•ืจื™ื™ื ืœื ืžื ื•ืงื™ื ืžื”ืžื—ืกื ื™ืช. ืขื‘ื•ืจ ืชื•ื›ื ื™ืช SUID-root fusermount, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืคื’ื™ืขื•ืช ื›ื“ื™ ืœืงื‘ืœ ืžื™ื“ืข ืจื’ื™ืฉ ืžื–ื™ื›ืจื•ืŸ ื”ืชื”ืœื™ืš, ืœืžืฉืœ, ื›ื“ื™ ืœืงื‘ืœ ืžื™ื“ืข ืขืœ ืžืฆื‘ื™ืขื™ื.
    • CVE-2021-3999 - ื’ืœื™ืฉืช ืžืื’ืจ ืฉืœ ื‘ื™ื™ื˜ ื‘ื•ื“ื“ ื‘ืคื•ื ืงืฆื™ื” getcwd() . ื”ื‘ืขื™ื” ื ื’ืจืžืช ืขืœ ื™ื“ื™ ื‘ืื’ ืฉืงื™ื™ื ืžืื– 1995. ื›ื“ื™ ืœื’ืจื•ื ืœื’ืœื™ืฉื”, ืคืฉื•ื˜ ืงืจื chdir() ื‘ืกืคืจื™ื™ืช "/" ื‘ืžืจื—ื‘ ืฉืžื•ืช ื ืคืจื“ ืฉืœ ื ืงื•ื“ืช ื”ืจื›ื‘ื”.

    ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”