Выпуск системной библиотеки Glibc 2.34
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.34, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2017. В состав нового выпуска включены исправления от 66 разработчиков.
Из реализованных в Glibc 2.34 улучшений можно отметить:
- В основной состав libc интегрированы библиотеки libpthread, libdl, libutil и libanl, использование функциональности которых в приложениях отныне не требует связывания при помощи флагов -lpthread, -ldl, -lutil и -lanl. Проведена подготовка к интеграции libresolv в libc. Интеграция позволит добиться более цельного процесса обновления glibc и упростит реализацию runtime. Для обеспечения обратной совместимости с приложениями, собранными со старыми версиями glibc, предоставлены библиотеки-заглушки. Из-за расширения числа предоставляемых в glibc структур и функций не исключено появление проблем в приложениях, в которых наблюдается пересечение имён c ранее не использованными библиотеками libpthread, libdl, libutil, libresolv и libanl.
- Предоставлена возможность использования 64-разрядного типа time_t в конфигурациях, в которых традиционно использовался 32-разрядный тип time_t. В подобных конфигурациях, например, на системах x86, по умолчанию пока остаётся 32-разрядный time_t, но данное поведение теперь можно изменить при помощи макроса "_TIME_BITS". Возможность доступна только на системах с ядром Linux как минимум версии 5.1.
- Добавлена функций _Fork, замена функции fork, соответствующая требованиям "async-signal-safe", т.е. допускающая безопасный вызов из обработчиков сигналов. В процессе выполнения _Fork, формируется минимальное окружение, достаточное для вызова функций в обработчиках сигналов, таких как raise и execve, без задействования возможностей, которые могут привести к изменению блокировок или внутреннего состояния. Вызов _Fork будет определён в будущей версии стандарта POSIX, но пока включён в число расширений GNU.
- Для платформы Linux реализована функция execveat, позволяющая запустить исполняемый файл из открытого файлового дескриптора. Новая функция также используется в реализации вызова fexecve не требующего при запуске наличия примонтированной псевдо-ФС /proc.
- Добавлена функция timespec_getres, определённая в черновике стандарта ISO C2X и дополняющая функцию timespec_get возможностями, похожими на POSIX-функцию clock_getres.
- Добавлена функция close_range(), позволяющая процессу разом закрыть целый диапазон открытых файловых дескрипторов. Функция доступна на системах с ядром Linux, как минимум версии 5.9.
- Добавлены функции closefrom и posix_spawn_file_actions_addclosefrom_np, позволяющие закрыть разом все файловые дескрипторы, номер которых больше или равен указанному значению.
- В режимах "_DYNAMIC_STACK_SIZE_SOURCE" и "_GNU_SOURCE" значения
PTHREAD_STACK_MIN, MINSIGSTKSZ и SIGSTKSZ теперь не являются константами, что позволяет обеспечить поддержку наборов регистров динамического размера, например, предоставляемых в расширении ARM SVE.
- В компоновщике реализована опция "--list-diagnostics" для вывода информации, связанной с операциями определения IFUNC (indirect function) и выбора подкаталога glibc-hwcaps.
- Реализован макрос __STDC_WANT_IEC_60559_EXT__, предназначенный для проверки наличия функций, определённых в приложении "F" спецификации ISO C2X.
- Для систем powerpc64* реализована опция "--disable-scv", позволяющая собрать glibc без поддержки инструкции scv.
- В файле gconv-modules оставлен только минимальный набор основных модулей gconv, а остальные перемещены в дополнительный файл gconv-modules-extra.conf, размещённый в каталоге gconv-modules.d.
- Для платформы Linux реализован параметр glibc.pthread.stack_cache_size, который может использоваться для настройки размера кэша стека pthread.
- Объявлена устаревшей функция inet_neta из заголовочного файла <arpa/inet.h>, а также различные редко применяемые функции из <resolv.h> (dn_count_labels, fp_nquery, fp_query,
fp_resstat, hostalias, loc_aton, loc_ntoa, p_cdname, p_cdnname,
p_class, p_fqname, p_fqnname, p_option, p_query, p_rcode, p_time,
p_type, putlong, putshort, res_hostalias, res_isourserver,
res_nameinquery, res_queriesmatch, res_randomid, sym_ntop, sym_ntos,
sym_ston) и
<arpa/nameser.h> (ns_datetosecs,
ns_format_ttl, ns_makecanon, ns_parse_ttl, ns_samedomain, ns_samename,
ns_sprintrr, ns_sprintrrf, ns_subdomain). Вместо данных функций рекомендовано использовать отдельные библиотеки для работы с DNS.
- Объявлены устаревшими функции pthread_mutex_consistent_np, thread_mutexattr_getrobust_np, pthread_mutexattr_setrobust_np и pthread_yield
вместо которых следует использовать pthread_mutex_consistent, thread_mutexattr_getrobust, hread_mutexattr_setrobust и sched_yield.
- Прекращено использование символических ссылок для привязки устанавливаемых разделяемых объектов к версии Glibc. Подобные объекты теперь устанавливаются как есть (например, libc.so.6 теперь является файлом, а не ссылкой на libc-2.34.so).
- По умолчанию отключены отладочные возможности в malloc, такие как MALLOC_CHECK_ (glibc.malloc.check), mtrace() и mcheck(), которые вынесены в отдельную библиотеку libc_malloc_debug.so, в которую также перемещены устаревшие функции malloc_get_state и malloc_set_state.
- В Linux для работы функций, подобных shm_open и sem_open, теперь требуется наличие устройства /dev/shm.
- Устранены уязвимости:
- CVE-2021-27645:
крах процесса nscd (nameserver caching daemon) из-за двойного вызова функции free при обработке специально оформленных netgroup-запросов.
- CVE-2021-33574: обращение к уже освобождённой области памяти (use-after-free) в функции
mq_notify при использовании типа уведомлений SIGEV_THREAD с атрибутом потока, для которого выставлена альтернативная маска привязки к CPU. Проблема может привести к краху, но не исключаются и другие варианты атак.
- CVE-2021-35942: переполнение размера параметра в функции wordexp может привести к краху приложения.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://sourceware.org/piperma...)
- OpenNews: Проект Glibc отменил обязательную передачу прав на код Фонду СПО
- OpenNews: Выпуск системной библиотеки Glibc 2.33
- OpenNews: Критическая уязвимость в реализации функции memcpy для ARMv7 из состава Glibc
- OpenNews: Конфликт между Ричардом Столлманом и командой разработчиков Glibc
- OpenNews: Уязвимость в Glibc, позволяющая поднять привилегии в системе
Похожие новости:
- Проект Glibc отменил обязательную передачу прав на код Фонду СПО
- Разработчики Glibc рассматривают вопрос прекращения передачи прав на код Фонду СПО
- Выпуск системной библиотеки Glibc 2.33
- [Анализ и проектирование систем, Ненормальное программирование, Программирование, Системное программирование] История двух стандартных библиотек Си (перевод)
- Выпуск системной библиотеки Glibc 2.32
- В состав Glibc включено исправление уязвимости в memcpy, подготовленное разработчиками ОС Аврора
- [Программирование, Разработка под Linux] Как Linux'овский sort сортирует строки
- Checkpoint предложил технику защиты Safe-Linking, усложняющую эксплуатацию уязвимостей
- Уязвимость в реализации функции memcpy для ARMv7 из состава Glibc
- Обновление почтового сервера Postfix 3.5.1
Теги для поиска: #_glibc
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 20:22
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.34, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2017. В состав нового выпуска включены исправления от 66 разработчиков. Из реализованных в Glibc 2.34 улучшений можно отметить:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 20:22
Часовой пояс: UTC + 5