由于GNU C库(glibc)(大多数Linux发行版的基本组件)中发现的四个严重漏洞,数以百万计的Linux系统面临风险。



Qualys威胁研究单位(TRU)在GNU C库(基于Linux的系统的重要组件)中发现了四个重大漏洞。研究人员发现该库的syslog和qsort功能存在多个漏洞,引发了严重的安全问题。


第一个漏洞(编号为CVE-2023-6246)是基于堆的缓冲区溢出法则。它是在GNU C库的_vsysloginternal()函数中发现的,并影响syslog()和vsyslog()。


该漏洞源自2022年8月推出的glibc 2.37,随后向后移植到glibc 2.36,从而对其进行追踪。大多数主要Linux发行版(包括Debian、Ubuntu和Fedora)都容易受到此缺陷的影响,该缺陷允许本地权限升级并让非特权用户获得完全root访问权限。


受CVE-2023-6246影响的同一功能还有两个影响较小的漏洞:CVE-2023-6779(glibc)和CVE-2023-6780(glibc)。这些漏洞涉及基于堆的差一缓冲区溢出和整数溢出问题。


一旦触发,这些缺陷似乎比第一个漏洞(CVE-2023-6246)更具挑战性。进一步的调查表明,它们的有效利用更加复杂。


最后一个是在GNU C库的qsort函数中发现的内存损坏问题,该问题是由于缺少边界检查而发生的。当qsort()与非传递比较函数一起使用并且攻击者设法控制大量元素时,可以利用此漏洞,从而导致malloc()失败。


这些缺陷会影响glibc对syslog()中输入格式的处理,并可能触发缓冲区溢出和内存损坏,从而使攻击者能够将恶意代码注入易受攻击的系统中。利用这些漏洞可能使攻击者能够在受影响的系统上获得远程代码执行(RCE),从而可能导致数据盗窃和系统受损。


syslog漏洞允许root访问,影响主要Linux发行版,而qsort漏洞则导致内存损坏。更令人担忧的是,该漏洞影响从1992年9月(glibc 1.04)到当前版本(glibc 2.38)的所有glibc版本。


TRU于2023年12月12日就该缺陷联系了glibc安全团队,但该团队决定不将qsort()中的内存损坏视为漏洞。2024年1月16日,TRU将b9390ba向后移植到glibc的所有稳定版本,协调发布日期定为2023年1月30日。


这一发现凸显了一个痛苦的事实:即使是最值得信赖的组件也可能存在缺陷。正如TRU的产品经理Saeed Abbasi在公司的博客文章中指出的那样,这些问题通常会产生深远的影响,可能会影响全球数百万用户,并使大量应用程序容易受到攻击和利用。


“最近发现的这些漏洞不仅是一个技术问题,而且是一个广泛的安全影响问题。”


建议用户立即更新其glibc版本以降低风险,而系统管理员和开发人员应检查其应用程序/库以确保其系统安全。