The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск системной библиотеки Glibc 2.26"
Отправлено opennews, 02-Авг-17 22:18 
После шести месяцев разработки состоялся (https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html) релиз системной библиотеки GNU C Library (http://ftp.gnu.org/gnu/glibc/) (glibc) 2.26 (http://sourceware.org/glibc/wiki/Release/2.26), которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2008. В состав нового выпуска включены исправления от 66 разработчика.


Из добавленных в Glibc 2.26 улучшений (http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;h...) можно отметить:

-  В функции malloc реализована поддержка кэша, индивидуального для каждого потока, что позволило избавиться от блокировок, возникающих при использовании общего для всех потоков кэша, и существенно поднять производительность выделения и освобождения небольших блоков памяти;


-  Расширены возможности встроенного DNS-резолвера: реализовано определения изменения файла /etc/resolv.conf для оперативной загрузки изменённой конфигурации (для запрета автообновления предусмотрена опция "no-reload"); обеспечена возможность указания произвольного числа элементов в списке "domain search" в /etc/resolv.conf (ранее можно было указать не больше шести доменов); при указании опции "rotate" в glibc теперь случайным образом выбирается сервер имён, который будет использован первым (ранее первым всегда использовался сервер, указанным вторым в списке);

-  По умолчанию включены средства тонкой настройки runtime-компонентов, которые позволяют изменять поведение Glibc при помощи переменной окружения  GLIBC_TUNABLES;

-  Добавлена функция  reallocarray, позволяющего выделить память для нескольких отличающихся по размеру объектов без дополнительных затрат на очистку памяти, но с сохранением средств борьбы с целочисленными переполнениями;

-  Добавлены функции-обвязки для новых системных вызовов Linux - preadv2() и pwritev2() (https://lwn.net/Articles/670231/), которые отличаются от preadv() и pwritev() наличием ещё одного аргумента для передачи ядру дополнительных флагов. В настоящее время при наличии ядра Linux 4.7+ поддерживаются флаги RWF_SYNC (сброс данных и метаданных из кэша на носитель после выполнения операции) и RWF_DSYNC (принудительный сброс на носитель только данных);


-  В posix_spawnattr_setflags добавлена поддержка флага POSIX_SPAWN_SETSID, используемого для создания нового идентификатора сеанса session ID для порождённого процесса. Данный флаг намечен для включения в следующей версии стандарта POSIX, поэтому пока поставляется в составе расширений "_GNU_SOURCE";

-  Заголовочный файл errno.h теперь безопасно использовать из блоков на языке ассемблера, прошедших обработку в Си-препроцессоре;


-  На архитектурах  ia64, powerpc64le, x86-32 и x86-64 в библиотеку math добавлена поддержка 128-разрядных операций с плавающей запятой, определённых в стандартах ISO/IEC/IEEE 60559:2011 (IEEE
  754-2008) и ISO/IEC TS 18661-3:2015. Для задействования данной возможности в программах компилятор должен поддерживать тип  _Float12 или __float128. Функциональность доступна при включении набора _GNU_SOURCE или __STDC_WANT_IEC_60559_TYPES_EXT__;


-  Возможности, связанные с кодировками, информацией о типах символов и таблицами транслитерации, приведены в соответствие со спецификацией Unicode 10.0.0;

-  Удалён порт для Native Client с архитектурой ARMv7-A;

-  Объявлены устаревшими и отключены по умолчанию (для включения требуется сборка с "--enable-obsolete-rpc") компоненты Sun RPC, включая  rpcgen, librpcsvc и заголовочные файлы Sun RPC. Также объявлены устаревшими  модули NIS/NIS+, а также библиотеки libnss_nis, libnss_nisplus, libnss_compat и  libnsl. В качестве замены рекомендуется использовать TIRPC (https://github.com/thkukuk/), в котором имеется поддержка   IPv6;

-   Из заголовочного файла string.h исключены inline-версии строковых функций, а макросы   __USE_STRING_INLINES и __NO_STRING_INLINES большие ни на что не влияют;

-  Удалён нестандартный заголовочный файл xlocale.h, вместо которого следует использовать locale.h. Также удалён устаревший файл sys/ultrasound.h;
-  Удалена поддержка устаревшей функции cfree() вместо которой следует использовать free();

-  Для работы теперь требуется ядро Linux 3.2 или более новый выпуск. Для сборки Glibc необходимо наличие  GNU Binutils 2.25+ и GCC 4.9+ (ограничение не распространяется на сборку приложений, использующих Glibc, только на сборку самого Glibc);

-  Устранены уязвимости:


-  CVE-2017-1000366 (https://security-tracker.debian.org/tracker/CVE-2017-1000366) - локальное повышение привилегий через манипуляцию с содержимым переменной окружения  LD_LIBRARY_PATH при вызове suid-приложений. На базе данной уязвимости была построена (https://www.opennet.ru/opennews/art.shtml?num=46724) серия эксплоитов для локального получения прав root в рамках атаки Stack Сlash;

-  CVE-2017-12132 (https://security-tracker.debian.org/tracker/CVE-2017-12132) - DNS-резолвер подвержен спуффинг-атакам, манипулирующим фрагментацией пакетов большого размера;

-  CVE-2010-3192 (https://security-tracker.debian.org/tracker/CVE-2010-3192) - утечка информации через повреждение стека при вызове функции __stack_chk_fail;

-  CVE-2017-12133 (https://security-tracker.debian.org/tracker/CVE-2017-12133) - обращение к буферу после его освобождения (use-after-free) в коде clntudp_call из состава Sun RPC.


URL: https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=46959

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру