Glibc 2.42 выходит с новыми функциями, исправлениями CVE и повышением производительности

После шести месяцев разработки проект GNU тихо прекратил выпуск версии 2.42 библиотеки GNU C (glibc), стандартной библиотеки C, которая обеспечивает основной интерфейс между пользовательскими программами и ядром Linux.
В новой версии усилена поддержка нового стандарта ISO C23. Совершенно новые математические помощники — Think compoundn
, pown
, powr
, rootn
и семейство Quick-and-Dirty rsqrt
— появились в <math.h>
, а соответствующие макросы общего назначения — в <tgmath.h>
.
Вдобавок ко всему, дебютируют функции ISO C2Y unsigned abs ( uabs
, ulabs
, и т. д.), завершая числовой инструментарий библиотеки.
Что касается производительности, локальный кэш потока malloc (tcache) значительно улучшен. Теперь он поддерживает кэширование больших блоков (до 4 МБ) и ускоряет выделение небольших объёмов памяти. Сборщики систем могут настроить это с помощью новой настройки glibc.malloc.tcache_max .
Плюс ко всему, появился новый практичный помощник pthread_gettid_np
для получения идентификатора потока ядра без необходимости использования хрупких системных вызовов, зависящих от платформы.
Ещё одна важная функция — поддержка SFrame. При сборке glibc с ключом --enable-sframe
(и в сочетании с Binutils ≥ 2.45 ) программы получают лёгкий способ записи метаданных раскрутки стека, который компактен и удобен для отладки.
С точки зрения архитектуры библиотека теперь автоматически определяет будущие процессоры Intel Arrow Lake, Panther Lake, Clearwater Forest и Diamond Rapids, а также недавно анонсированные мэйнфреймы IBM z17.
Наконец, glibc 2.42 исправляет четыре публично отслеживаемые уязвимости CVE, включая переполнение буфера при assert()
обработке сообщений (CVE‑2025‑0395) и две ошибки затирания векторных регистров Power10, которые могли приводить к совершенно неверным strcmp
результатам strncmp
при определённых соглашениях о вызовах (CVE‑2025‑5702 и ‑5745). Также имеется исправление двойного освобождения в обработчике регулярных выражений POSIX (CVE‑2025‑8058).
Для вашего спокойствия мы должны сообщить, что ни одна из этих уязвимостей, по всей видимости, на данный момент не имеет активных эксплойтов, но исправленные пакеты должны по-прежнему без задержек проходить через тестовые репозитории.
Для получения дополнительной информации см. объявление: https://sourceware.org/pipermail/libc-announce/2025/000048.html. Заметки о выпуске можно найти здесь: https://sourceware.org/glibc/wiki/Release/2.42.
Редактор: AndreyEx