[security][CRITICAL] glibc 2.42: 7 CVE require triage #1
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
rpms/glibc#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
CVE triage request / Запрос на разбор CVE
Package / Пакет
glibc2.422.42-1toolchaincore-system-toolchain-teamCRITICAL9.87LLM recommendation / Рекомендация LLM
RU
Критическая уязвимость переполнения буфера в функции scanf семейства GNU C Library (glibc) при использовании спецификатора формата %mc с шириной более 1024. Также выявлены уязвимости в memalign, wordexp, getnetbyaddr, iconv, gethostbyaddr и ungetwc в версиях glibc до 2.43.
Немедленно обновить пакет glibc до версии 2.43 или новее, содержащей исправления для всех перечисленных CVE. Если обновление невозможно, рассмотреть временные меры (например, удаление неиспользуемых кодировок IBM1390/IBM1399 для CVE-2026-4046), но это не устраняет остальные уязвимости.
Рекомендуемое действие:
update_packageПодсказка по целевой версии:
2.43Проверки: 1. Проверить версию установленного пакета glibc (rpm -q glibc). 2. Подтвердить, что версия >= 2.43. 3. Протестировать уязвимые сценарии (scanf с %mc, memalign с большим выравниванием) на обновленной системе, чтобы убедиться в отсутствии краша или утечки памяти.
Риски: Полный контроль над памятью процесса (RCE) через переполнение буфера в scanf. Возможность краха процесса или утечки чувствительных данных через уязвимости в wordexp, getnetbyaddr, ungetwc и иконвертации. Уязвимость memalign позволяет вызвать коррумпирование кучи.
EN
Critical heap buffer overflow in the GNU C Library (glibc) scanf family when using %mc format specifier with width > 1024. Additional vulnerabilities identified in memalign, wordexp, getnetbyaddr, iconv, gethostbyaddr, and ungetwc in glibc versions prior to 2.43.
Immediately update the glibc package to version 2.43 or later, which contains fixes for all listed CVEs. If an update is not feasible, consider temporary mitigations (e.g., removing unused IBM1390/IBM1399 character sets for CVE-2026-4046), but this does not address the other vulnerabilities.
Recommended action:
update_packageTarget version hint:
2.43Tests: 1. Check installed glibc package version (rpm -q glibc). 2. Confirm version >= 2.43. 3. Test vulnerable scenarios (scanf with %mc, memalign with large alignment) on the updated system to ensure no crash or memory leak occurs.
Risks: Full process memory control (RCE) via buffer overflow in scanf. Potential process crash or sensitive data leakage through vulnerabilities in wordexp, getnetbyaddr, ungetwc, and iconv. The memalign vulnerability allows heap corruption.
CVE candidates from NVD/CPE
Descriptions
CVE-2026-5450
Calling the scanf family of functions with a %mc (malloc'd character match) in the GNU C Library version 2.7 to version 2.43 with a format width specifier with an explicit width greater than 1024 could result in a one byte heap buffer overflow.
CVE-2026-0861
Passing too large an alignment to the memalign suite of functions (memalign, posix_memalign, aligned_alloc) in the GNU C Library version 2.30 to 2.42 may result in an integer overflow, which could consequently result in a heap corruption.
Note that the attacker must have control over both, the size as well as the alignment arguments of the memalign function to be able to exploit this. The size parameter must be close enough to PTRDIFF_MAX so as to overflow size_t along with the large alignment argument. This limits the malicious inputs for the alignment for memalign to the range [1<<62+ 1, 1<<63] and exactly 1<<63 for posix_memalign and aligned_alloc.
Typically the alignment argument passed to such functions is a known constrained quantity (e.g. page size, block size, struct sizes) and is not attacker controlled, because of which this may not be easily exploitable in practice. An application bug could potentially result in the input alignment being too large, e.g. due to a different buffer overflow or integer overflow in the application or its dependent libraries, but that is again an uncommon usage pattern given typical sources of alignments.
CVE-2025-15281
Calling wordexp with WRDE_REUSE in conjunction with WRDE_APPEND in the GNU C Library version 2.0 to version 2.42 may cause the interface to return uninitialized memory in the we_wordv member, which on subsequent calls to wordfree may abort the process.
CVE-2026-0915
Calling getnetbyaddr or getnetbyaddr_r with a configured nsswitch.conf that specifies the library's DNS backend for networks and queries for a zero-valued network in the GNU C Library version 2.0 to version 2.42 can leak stack contents to the configured DNS resolver.
CVE-2026-4046
The iconv() function in the GNU C Library versions 2.43 and earlier may crash due to an assertion failure when converting inputs from the IBM1390 or IBM1399 character sets, which may be used to remotely crash an application.
This vulnerability can be trivially mitigated by removing the IBM1390 and IBM1399 character sets from systems that do not need them.
CVE-2026-4437
Calling gethostbyaddr or gethostbyaddr_r with a configured nsswitch.conf that specifies the library's DNS backend in the GNU C Library version 2.34 to version 2.43 could, with a crafted response from the configured DNS server, result in a violation of the DNS specification that causes the application to treat a non-answer section of the DNS response as a valid answer.
CVE-2026-5928
Calling the ungetwc function on a FILE stream with wide characters encoded in a character set that has overlaps between its single byte and multi-byte character encodings, in the GNU C Library version 2.43 or earlier, may result in an attempt to read bytes before an allocated buffer, potentially resulting in unintentional disclosure of neighboring data in the heap, or a program crash.
A bug in the wide character pushback implementation (_IO_wdefault_pbackfail in libio/wgenops.c) causes ungetwc() to operate on the regular character buffer (fp->_IO_read_ptr) instead of the actual wide-stream read pointer (fp->_wide_data->_IO_read_ptr). The program crash may happen in cases where fp->_IO_read_ptr is not initialized and hence points to NULL. The buffer under-read requires a special situation where the input character encoding is such that there are overlaps between single byte representations and multibyte representations in that encoding, resulting in spurious matches. The spurious match case is not possible in the standard Unicode character sets.
Maintainer checklist
affected,fixed,not_affected,false_positive,deferred, ornot_in_cloud_image.niceos_cve_triageentry.NICE-SAadvisory if a security update is shipped.Machine metadata
Triage update
The
glibc2.42 backport status was reviewed for the 7 CVEs listed in this issue.Backport prepared
Upstream stable commits were found in
release/2.42/master, and RPM patches were prepared for the following CVEs:b0ec8fb689df862171f0f78994a3bdeb51313545Patch1001453e6b8dbab935257eb0802b0c97bca6b67ba30ePatch1002cbf39c26b25801e9bc88499b4fd361ac172d4125Patch10031a19d5a507eb82a2cf1cf8bd1c14ca1758fb8a82Patch10048e863fb1c92360520704a69dc948be6bb4a17cb3Patch1005f13c1bb0f97fbc12a6ba1ab5669ce561ea32b80aPatch1006The package
Releasewas bumped from1%{?dist}to2%{?dist}.The backport patches were added to:
patches/SOURCES/SPECS/glibc.specDuring patch preparation, non-runtime
NEWShunks were stripped from the exported upstream patches because they conflicted with the downstream source tree and are not part of the actual runtime/security fixes.Still pending
The following CVEs are not fixed by the current backport set:
GLIBC-SA-2026-0009, but the advisory does not contain aFix-Commitentry. No real fix commit forBZ #34008was found inorigin/master,release/2.43/master, orrelease/2.42/master.GLIBC-SA-2026-0010, but the advisory does not contain aFix-Commitentry. No real fix commit forBZ #33998was found inorigin/master,release/2.43/master, orrelease/2.42/master.The following upstream commits must not be used as security backport patches because they only add advisory text and do not change the affected runtime code:
9895db657ad9e19b1fb2d7716b00d0e6f84f1c32— advisory text forCVE-2026-5450;da3863e62e8ff1abc6b92cfe6d899ca3e80c8c4b— advisory text forCVE-2026-5358/CVE-2026-5928.Next actions
CVE-2026-5450andCVE-2026-5928open asdeferred/upstream-waitinguntil upstream publishes realFix-Commitentries or reviewed patchwork-based backports are accepted for downstream use.Fixed in Build glibc 2.42-3.niceosc5