Glibc 2.32 ИздаванС Π½Π° систСмна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°

Π‘Π»Π΅Π΄ ΡˆΠ΅ΡΡ‚ мСсСца Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° систСмната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° GNU C Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (glibc) 2.32, ΠΊΠΎΠΉΡ‚ΠΎ напълно отговаря Π½Π° изискванията Π½Π° стандартитС ISO C11 ΠΈ POSIX.1-2017. Новата вСрсия Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ 67 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ.

ΠžΡ‚ Ρ‚Π΅Π·ΠΈ, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Π² Glibc 2.32 подобрСния ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° процСсори Synopsys ARC HS (ARCv2 ISA). ΠŸΠΎΡ€Ρ‚ΡŠΡ‚ изисква ΠΏΠΎΠ½Π΅ binutils 2.32, gcc 8.3 ΠΈ Linux ядро ​​5.1, Π·Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ сС Ρ‚Ρ€ΠΈ ABI Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: arc-linux-gnu, arc-linux-gnuhf ΠΈ arceb-linux-gnu (big-endian);
  • Π—Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π° ΠΎΠ΄ΠΈΡ‚, посочСни Π² сСкции DT_AUDIT ΠΈ
    DT_DEPAUDIT Π½Π° изпълнимия Ρ„Π°ΠΉΠ».

  • Π—Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° powerpc64le Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° дългия Π΄Π²ΠΎΠ΅Π½ Ρ‚ΠΈΠΏ IEEE128, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΡ€ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ с опцията β€ž-mabi=ieeelongdoubleβ€œ.
  • Някои API са Π°Π½ΠΎΡ‚ΠΈΡ€Π°Π½ΠΈ с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° GCC 'access', ΠΊΠΎΠΉΡ‚ΠΎ позволява Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΈ прСдупрСТдСния ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π² GCC 10 Π·Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° възмоТно ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ сцСнарии извън Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅.
  • Π—Π° Linux систСми, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ pthread_attr_setsigmask_np ΠΈ
    pthread_attr_getsigmask_np, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π°Π²Π°Ρ‚ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΡƒΠΊΠ°Π·Π²Π° маска Π½Π° сигнала Π·Π° нишки, създадСни с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° pthread_create.

  • Π”Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅, информацията Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π·Π½Π°Ρ†ΠΈ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° транслитСрация са Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ спСцификацията Unicode 13.0.0;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² Π·Π°Π³Π»Π°Π²Π΅Π½ Ρ„Π°ΠΉΠ» , ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° __libc_single_threaded, която ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² прилоТСния Π·Π° Сднонишкови ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sigabbrev_np ΠΈ sigdescr_np, ΠΊΠΎΠΈΡ‚ΠΎ Π²Ρ€ΡŠΡ‰Π°Ρ‚ ΡΡŠΠΊΡ€Π°Ρ‚Π΅Π½ΠΎΡ‚ΠΎ ΠΈΠΌΠ΅ ΠΈ описаниС Π½Π° сигнала (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€žHUPβ€œ ΠΈ β€žHangupβ€œ Π·Π° SIGHUP).
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strerrorname_np ΠΈ strerrordesc_np, ΠΊΠΎΠΈΡ‚ΠΎ Π²Ρ€ΡŠΡ‰Π°Ρ‚ ΠΈΠΌΠ΅Ρ‚ΠΎ ΠΈ описаниСто Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€žEINVALβ€œ ΠΈ β€žΠΠ΅Π²Π°Π»ΠΈΠ΄Π΅Π½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚β€œ Π·Π° EINVAL).
  • Π—Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ARM64 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Ρ„Π»Π°Π³ "--enable-standard-branch-protection" (ΠΈΠ»ΠΈ -mbranch-protection=standard Π² GCC), ΠΊΠΎΠΉΡ‚ΠΎ позволява Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ARMv8.5-BTI (Branch Target Indicator) Π΄Π° Π·Π°Ρ‰ΠΈΡ‚Π°Π²Π° изпълнСниС Π½Π° Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ инструкции, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ трябва Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Ρ€Π°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈ ΠΏΡ€Π΅Ρ…ΠΎΠ΄ΠΈ. Π‘Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ към ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ сСкции ΠΎΡ‚ ΠΊΠΎΠ΄Π° Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΎ, Π·Π° Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄ΠΆΠ°Π΄ΠΆΠΈ Π² Сксплойти, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ с Π²Ρ€ΡŠΡ‰Π°Π½Π΅ (ROP - Return-Oriented Programming; атакуващият Π½Π΅ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° постави своя ΠΊΠΎΠ΄ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΡŠΡ€Ρ…Ρƒ Π²Π΅Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ части Π½Π° машинни инструкции, ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ с ΠΎΠ±Ρ€Π°Ρ‚Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° инструкция, ΠΎΡ‚ която сС ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π° Π²Π΅Ρ€ΠΈΠ³Π° ΠΎΡ‚ повиквания Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΆΠ΅Π»Π°Π½Π°Ρ‚Π° функционалност).
  • Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΎ Π΅ основно почистванС Π½Π° остарСли Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ β€ž--enable-obsolete-rpcβ€œ ΠΈ β€ž--enable-obsolete-nslβ€œ, Π·Π°Π³Π»Π°Π²Π΅Π½ Ρ„Π°ΠΉΠ» . Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ sstk, siginterrupt, sigpause, sighold, sigrelse, sigignore ΠΈ sigset, масивитС sys_siglist, _sys_siglist ΠΈ sys_sigabbrev, символитС sys_errlist, _sys_errlist, sys_nerr ΠΈ _sys_nerr ΠΈ NSS ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ hesiod са ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΈ.
  • ldconfig Π΅ прСмСстСн ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° новия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ld.so.cache, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π² glibc ΠΎΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ 20 Π³ΠΎΠ΄ΠΈΠ½ΠΈ.
  • ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ уязвимости:
    • CVE-2016-10228 – Π’ΡŠΠ·Π½ΠΈΠΊΠ²Π° Ρ†ΠΈΠΊΡŠΠ» Π² ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° iconv, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС изпълнява с опцията β€ž-cβ€œ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ.
    • CVE-2020-10029 ΠŸΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° стСка ΠΏΡ€ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Ρ‚Ρ€ΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с псСвдо-Π½ΡƒΠ»Π΅Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.
    • CVE-2020-1752 - ИзползванС слСд освобоТдаванС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° във функцията glob ΠΏΡ€ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠ° към Π΄ΠΎΠΌΠ°ΡˆΠ½Π°Ρ‚Π° дирСктория (β€ž~userβ€œ) Π² ΠΏΡŠΡ‚ΠΈΡ‰Π°.
    • CVE-2020-6096 – НСправилно ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ARMv7 Π½Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»Π½ΠΈ стойности Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π² memcpy() ΠΈ memmove(), ΠΊΠΎΠ΅Ρ‚ΠΎ опрСдСля Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π°Ρ‚Π° област. Позволява ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½ΠΈ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ във Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ memcpy() ΠΈ memmove(). ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π½ΠΎ Π΅, Ρ‡Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ остана Π½Π΅ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²Π° мСсСца, ΠΎΡ‚ΠΊΠ°ΠΊΡ‚ΠΎ информацията бСшС ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π·ΠΊΡ€ΠΈΡ‚Π°, ΠΈ ΠΏΠ΅Ρ‚ мСсСца, ΠΎΡ‚ΠΊΠ°ΠΊΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Glibc бяха ΡƒΠ²Π΅Π΄ΠΎΠΌΠ΅Π½ΠΈ.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€