{"id":180014,"date":"2025-07-29T12:27:03","date_gmt":"2025-07-29T12:27:03","guid":{"rendered":"https:\/\/linuxiac.com\/?p=180014"},"modified":"2025-07-29T21:56:23","modified_gmt":"2025-07-29T21:56:23","slug":"glibc-2-42-lands-with-new-features-cve-fixes-and-performance-gains","status":"publish","type":"post","link":"https:\/\/linuxiac.com\/glibc-2-42-lands-with-new-features-cve-fixes-and-performance-gains\/","title":{"rendered":"Glibc 2.42 Lands with New Features, CVE Fixes, and Performance Gains"},"content":{"rendered":"\n<p>After six months in development, the GNU Project quietly dropped version 2.42 of the GNU C Library (glibc), a standard C library that provides the core interface between user programs and the Linux kernel.<\/p>\n\n\n\n<p>The new release doubles down on support for the emerging ISO\u202fC23 standard. Brand\u2011new math helpers\u2014think <code>compoundn<\/code>, <code>pown<\/code>, <code>powr<\/code>, <code>rootn<\/code>, and the quick\u2011and\u2011dirty <code>rsqrt<\/code> family\u2014landed in <code>&lt;math.h&gt;<\/code>, together with matching type\u2011generic macros in <code>&lt;tgmath.h&gt;<\/code>.<\/p>\n\n\n\n<p>On top of that, the ISO C2Y unsigned abs functions (<code>uabs<\/code>, <code>ulabs<\/code>, etc.) make their debut, rounding out the library\u2019s numerical toolkit.<\/p>\n\n\n\n<p>On the performance front, malloc\u2019s thread-local cache (tcache) gets a major boost. It now supports caching of large blocks (up to 4MB) and speeds up small allocations. System builders can tweak this via the new &#8220;<em>glibc.malloc.tcache_max<\/em>&#8221; tunable.<\/p>\n\n\n\n<p>Plus, there\u2019s also a pragmatic new <code>pthread_gettid_np<\/code> helper for grabbing the kernel thread ID without dipping into fragile, platform\u2011specific syscalls.<\/p>\n\n\n\n<p>Another headline feature is SFrame support. When glibc is built with the <code>--enable-sframe<\/code> switch (and when paired with <a href=\"https:\/\/linuxiac.com\/gnu-binutils-2-45-expands-risc-v-support\/\">Binutils\u00a0\u2265\u202f2.45<\/a>), programs gain a lightweight way to record stack\u2011unwind metadata that\u2019s both compact and debugger\u2011friendly.<\/p>\n\n\n\n<p>Architecturally, the library now auto\u2011detects Intel\u2019s upcoming Arrow Lake, Panther Lake, Clearwater Forest, and Diamond\u202fRapids CPUs, plus IBM\u2019s freshly announced z17 mainframes.<\/p>\n\n\n\n<p>Lastly, glibc 2.42 patches four publicly tracked CVEs, including a buffer overflow in <code>assert()<\/code> message handling (CVE\u20112025\u20110395) and a pair of Power10 vector\u2011register clobbering bugs that could produce wildly incorrect <code>strcmp<\/code>\/<code>strncmp<\/code> results under certain calling conventions (CVE\u20112025\u20115702 and \u20115745). There\u2019s also a double\u2011free fix in the POSIX regex engine (CVE\u20112025\u20118058).<\/p>\n\n\n\n<p>For your peace of mind, we must say that none of these vulnerabilities appear to have active exploits in the wild right now, but patched packages should still move through testing repos without delay.<\/p>\n\n\n\n<p>For more information, <a href=\"https:\/\/sourceware.org\/pipermail\/libc-announce\/2025\/000048.html\" target=\"_blank\" rel=\"noreferrer noopener\">see the announcement<\/a>. The release notes are <a href=\"https:\/\/sourceware.org\/glibc\/wiki\/Release\/2.42\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GNU C Library 2.42 is out, bringing ISO C23, POSIX.1-2024, faster malloc tcache, and dozens of bug fixes and CVE patches.<\/p>\n","protected":false},"author":10,"featured_media":180026,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[6407],"class_list":["post-180014","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","category-news","tag-glibc"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/180014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/comments?post=180014"}],"version-history":[{"count":0,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/180014\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media\/180026"}],"wp:attachment":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media?parent=180014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/categories?post=180014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/tags?post=180014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}