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

По ΡˆΠ΅ΡΡ‚ мСсСци Ρ€Π°Π·Π²ΠΎΡ˜ објавСно издавањС Π½Π° систСмска Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° GNU C Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (glibc) 2.30, ΡˆΡ‚ΠΎ цСлосно Π³ΠΈ исполнува Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π½Π° ISO C11 ΠΈ POSIX.1-2008. Новото ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΈ ΠΎΠ΄ 48 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ.

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Π²ΠΎ Π“Π»ΠΈΠ±Ρ† 2.30 ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅:

  • Π’ динамичСском ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΈ Β«β€”preloadΒ» для ΠΏΡ€Π΅Π΄Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ раздСляСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π°Π½Π°Π»ΠΎΠ³ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния LD_PRELOAD);
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция twalk_r, похоТая Π½Π° ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ twalk, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ callback-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ;
  • Для Linux Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ getdents64, gettid ΠΈ tgkill;
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ с ΠΊΠΎΠ΄ΠΎΠΌ ошибки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign ΠΈ posix_memalign, Π² ситуации, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ PTRDIFF_MAX. Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ повСдСния, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ манипуляции с указатСлями ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Ρ‚ΠΈΠΏΠ° ptrdiff_t;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² POSIX Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock ΠΈ sem_clockwait, ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π½Π° эквивалСнты Β«timedΒ», Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ clockid_t для Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°;

  • ΠŸΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΡšΠ΅, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ‚ΠΈΠΏΠΎΡ‚ Π½Π° Π·Π½Π°Ρ†ΠΈ ΠΈ Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅ Π·Π° Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡ˜Π° сС Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½ΠΈ Π·Π° Π΄Π° ја ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Unicode 12.1.0;
  • Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ librt для Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ большС Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ clock_gettime, clock_getres, clock_settime, clock_getcpuclockid ΠΈ clock_nanosleep, вмСсто ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… автоматичСски ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ опрСдСлСния Π² libc;
  • Π’ /etc/resolv.conf ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΈ Β«inet6Β». Из resolv.h ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ RES_USE_INET6, RES_INSECURE1 ΠΈ RES_INSECURE2;
  • ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ Β«β€”enable-bind-nowΒ» устанавливаСмыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с использованиСм Ρ„Π»Π°Π³Π° BIND_NOW;
  • ΠžΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ спСцифичныС для Linux Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» sys/sysctl.h ΠΈ функция sysctl, вмСсто ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прилоТСниям слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ псСвдо-Π€Π‘ /proc;
  • Для сборки Glibc Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ трСбуСтся GCC 6.2 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ новая вСрсия (для сборки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π»ΡŽΠ±Ρ‹Π΅ компиляторы);
  • ΠŸΠΎΠΏΡ€Π°Π²Π΅Π½Π° Π΅ ранливоста CVE-2019-7309 Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ memcmp для застарСни субархитСктуры x32 (Π½Π΅ ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с x86 IA-32), Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ функция Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΌΠΎΠ³Π»Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 для Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… строк;
  • ΠŸΠΎΠΏΡ€Π°Π²Π΅Π½Π° Π΅ ранливоста CVE-2019-9169, которая ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· области Π²Π½Π΅ Π³Ρ€Π°Π½ΠΈΡ† Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€