ΠŸΡƒΡΠΊΠ°Π½Π΅Ρ‚ΠΎ Π½Π° систСмната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° 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 ΠšΠ‘, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ 346 ΠšΠ‘ са Π΄Π°Π½Π½ΠΈ LC_CTYPE Π·Π° Unicode ΠΈ изисква ΠΎΡ‚Π΄Π΅Π»Π½Π° инсталация (Π½Π΅ Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½Π° Π² Glibc).
  • Π”Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, информацията Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ символи ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° транслитСрация са Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ спСцификацията Unicode 14.0.0.
  • Π’ ΠΈ са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ макроси, ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°ΠΊΡ€ΡŠΠ³Π»ΡΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° Π΄ΠΎ ΠΏΠΎ-тСсСн Ρ‚ΠΈΠΏ: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafN ΠΈ fMfmafNx. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ са описани Π² спСцификациитС TS 18661-1:2014, TS 18661-3:2015 ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠ° Π½Π° Π±ΡŠΠ΄Π΅Ρ‰ΠΈΡ C стандарт ISO C2X.
  • Π’ ΠΈ са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ макроси Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΈ максимални числа с ΠΏΠ»Π°Π²Π°Ρ‰Π° запСтая с Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ float, long double, _FloatN ΠΈ _FloatNx, описани Π² спСцификацията IEEE 754-2019 ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠ° Π½Π° Π±ΡŠΠ΄Π΅Ρ‰ΠΈΡ C стандарт ISO C2X: fmaximum, fmaximum_num, fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
  • Π’ са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ константи Π·Π° числа с ΠΏΠ»Π°Π²Π°Ρ‰Π° запСтая с Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Π° точност: 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_SQRT2f ΠΈ M_SQRT1_2f.
  • Π—Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ exp10 Π² заглавния Ρ„Π°ΠΉΠ» са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ΠΈ макроси, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅.
  • Π’ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ макрос _PRINTF_NAN_LEN_MAX, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠ° Π½Π° стандарта ISO C2X.
  • Π’ сСмСйството Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printf са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ спСцификатори Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° "%b" ΠΈ "%B" Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ†Π΅Π»ΠΈ числа Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎ прСдставянС.
  • Π’ систСмата Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π½ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° сортиранС DSO, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π° Π΄ΡŠΠ»Π±ΠΎΡ‡ΠΈΠ½Π½ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ (DFS) Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с производитСлността ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΈ зависимости. Π—Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π·Π° сортиранС DSO Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ glibc.rtld.dynamic_sort, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС присвои стойност "1" Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ към стария Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ.
  • Π’ ABI Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π½ΠΎΠ²Π°Ρ‚Π° функция β€˜__memcmpeq’, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° β€˜memcmp’, ΠΊΠΎΠ³Π°Ρ‚ΠΎ стойността, Π²ΡŠΡ€Π½Π°Ρ‚Π° ΠΎΡ‚ Ρ‚Π°Π·ΠΈ функция, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° статуса Π½Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° опСрацията.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° рСгистрация Π½Π° ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ систСмния ΠΏΠΎΠ²ΠΈΠΊ rseq (restartable sequences), прСдоставСн ΠΎΡ‚ ядрото Π½Π° Linux 4.18. БистСмният ΠΏΠΎΠ²ΠΈΠΊ rseq позволява ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π΅Ρ€Π°Π·Ρ€ΠΈΠ²Π½ΠΎ изпълнСниС Π½Π° Π³Ρ€ΡƒΠΏΠ° инструкции, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Π²Π°Π½ΠΎ ΠΈ ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄ΠΈΡ‚Π΅Π»Π½ΠΎ удостовСрява Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΎΡ‚ послСдната инструкция Π² Π³Ρ€ΡƒΠΏΠ°Ρ‚Π°. По ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ Ρ‚ΠΎΠ²Π° осигурява срСдство Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡŠΡ€Π·ΠΎ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ изпълнСниС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π² случай Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ ΠΏΠΎΡ‚ΠΎΠΊ сС Π°Π½ΡƒΠ»ΠΈΡ€Π°Ρ‚ ΠΈ ΠΎΠΏΠΈΡ‚ΡŠΡ‚ Π·Π° изпълнСниС сС възобновява.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ символична Π²Ρ€ΡŠΠ·ΠΊΠ° /usr/bin/ld.so.
  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π΅ компилация ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° всички изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ тСстовия ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ PIE (ΠΎΠ±Π΅Π·Π²Ρ€Π΅Π΄Π΅Π½Π° изпълнима). Π—Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π° опцията β€˜β€”disable-default-pie’.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ настройка glibc.malloc.hugetlb Π·Π° Linux, която позволява ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° рСализацията Π½Π° malloc Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° систСмния ΠΏΠΎΠ²ΠΈΠΊ madvise с Ρ„Π»Π°Π³Π° MADV_HUGEPAGE Π·Π° mmap ΠΈ sbrk ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ страници ΠΏΠ°ΠΌΠ΅Ρ‚ Ρ‡Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ„Π»Π°Π³Π° MAP_HUGETLB Π² повикванията Π½Π° mmap. Π’ ΠΏΡŠΡ€Π²ΠΈΡ случай ΠΌΠΎΠΆΠ΅ Π΄Π° сС постигнС ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° производитСлността, Π°ΠΊΠΎ Transparent Huge Pages сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ madvise, Π° във втория сС прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ ΠΎΡ‚ систСмата Π³ΠΎΠ»Π΅ΠΌΠΈ страници (Huge Pages).
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ функцията _dl_find_object, която ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° добавянС Π½Π° информация Π·Π° Ρ€Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° стСка ΠΎΡ‚ повиквания (unwind).
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° OpenRISC (or1k-linux-gnu) Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° софтуСрна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠ»Π°Π²Π°Ρ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с запСтая (soft-float). Π—Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΏΠΎΡ€Ρ‚Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ binutils 2.35, GCC 11 ΠΈ ядро Linux 5.4.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Ρ„Π»Π°Π³ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ β€˜β€”with-rtld-early-cflags’, с ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡƒΠΊΠ°Π·Π²Π°Ρ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ„Π»Π°Π³ΠΎΠ²Π΅ Π·Π° компилация, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΡ€ΠΈ компилацията Π½Π° началния ΠΊΠΎΠ΄ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅.
  • Π—Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Linux Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° функцията epoll_pwait2, която сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΎΡ‚ epoll_wait с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ с наносСкундна точност.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ функцията posix_spawn_file_actions_addtcsetpgrp_np, която ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π½Π° Π³ΠΎΠ½ΠΊΠ° ΠΏΡ€ΠΈ установяванС Π½Π° управляващ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π·Π° новия процСс.
  • Π—Π° прилоТСния, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ с Glibc ΠΈ GCC 12+, Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° β€ž_FORTIFY_SOURCE=3β€œ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π° възмоТни ΠΏΡ€Π΅ΠΏΡŠΠ»Π½Π΅Π½ΠΈΡ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈ изпълнСниС Π½Π° стрингови Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π² заглавния Ρ„Π°ΠΉΠ» string.h. Π Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° β€ž_FORTIFY_SOURCE=2β€œ Π΅ Π² Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π° производитСлността.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡΡ‚Π° Intel MPX (Memory Protection Extensions), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π·Π° спазванС Π½Π° Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° областитС с ΠΏΠ°ΠΌΠ΅Ρ‚ (посочСната тСхнология Π½Π΅ сС Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° разпространСниС ΠΈ Π²Π΅Ρ‡Π΅ Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° ΠΎΡ‚ GCC ΠΈ LLVM), Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½Π°.
  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ prelink ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ с Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° срСдата LD_TRACE_PRELINKING ΠΈ LD_USE_LOAD_BIAS са обявСни Π·Π° остарСли ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ Π² слСдващото ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.

    УстранСни уязвимости:

    • CVE-2022-23218, CVE-2022-23219 β€” ΠΏΡ€Π΅ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ svcunix_create ΠΈ clnt_create, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΎ ΠΎΡ‚ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° стСковото ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° с ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»Π° Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ. Π—Π° прилоТСния, сглобСни Π±Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π° стСка ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° β€žunixβ€œ, уязвимостта ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° изпълнСниС Π½Π° ΠΊΠΎΠ΄ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π΅Ρ† ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ дълги ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.
    • CVE-2021-3998 β€” уязвимост Π² функцията realpath(), ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΠΎΡ‚ Π²Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ условия Π½Π° Π½Π΅ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½Π° стойност, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰Π° нСизчистСни ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ стСка. Π—Π° SUID-root ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° fusermount, уязвимостта ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° процСса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° информация Π·Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅.
    • CVE-2021-3999 β€” Π΅Π΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΠΎ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° Π² функцията getcwd(). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠ°, ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°Ρ‰Π° ΠΎΡ‚ 1995 Π³ΠΎΠ΄ΠΈΠ½Π°. Π—Π° Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΠΏΡ€Π΅ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅, Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄Π° сС ΠΈΠ·Π²ΠΈΠΊΠ° chdir() Π·Π° дирСктория β€ž/β€œ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ пространство Π½Π° ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅.

    Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster