导 读
安全研究人员披露 GNU C 库 (glibc) 中的一个重大漏洞,可能影响全球数百万个 Linux 系统。
漏洞编号为 CVE-2025-4802,涉及静态链接的 setuid 二进制文件,这些二进制文件错误地搜索库路径,可能允许攻击者以提升的权限执行恶意代码。
虽然尚未收到任何野外攻击报告,但安全社区敦促系统管理员立即应用补丁,因为该漏洞影响从 2.27 到 2.38 的多个版本的 glibc,代表了企业和消费者环境中多年来部署的系统。
该漏洞专门针对调用 dlopen 功能的静态链接 setuid 二进制文件。
这些以提升的权限执行的二进制文件可能会在确定要加载哪个库时错误地搜索 LD_LIBRARY_PATH 环境变量,而不是按照安全最佳实践所规定的那样忽略这个可能由用户控制的路径。
技术问题在于这些特权程序在某些操作发生后如何处理动态库加载,例如调用 setlocale 或名称服务切换 (NSS) 函数(包括 getaddrinfo)。
在正常的安全操作中,setuid 程序应该忽略可能被非特权用户操纵的环境变量。
漏洞会导致一种情况,即使是静态链接的程序也可能会在 dlopen 操作期间错误地遵守 LD_LIBRARY_PATH 设置。
此行为打破了特权和非特权代码执行上下文之间的安全边界,为本地攻击者创造了提升权限的机会,他们可以将恶意库放置在 LD_LIBRARY_PATH 引用的路径中。
尽管 glibc 公告指出在披露时尚未发现任何易受攻击的 setuid 程序,但利用的可能性仍然令人担忧。
主要攻击媒介需要对目标系统的本地访问,攻击者需要将恶意共享库放置在 LD_LIBRARY_PATH 环境变量指定的位置。
当易受攻击的 setuid 二进制文件执行并尝试加载动态库时,它可能会无意中以提升的权限加载攻击者的恶意代码。
安全专家指出,尽管作为一种安全措施不鼓励使用自定义 setuid 程序,但在企业环境中,对于遗留操作或专门的系统管理来说,自定义 setuid 程序比较常见。
如果这些程序执行动态库加载操作,则开发了自定义 setuid 二进制文件的组织可能特别容易受到攻击。
风险之所以会加大,是因为许多管理员可能没有意识到他们的静态链接 setuid 程序可能容易受到这种类型的攻击,因为静态链接的二进制文件通常是专门为避免动态库依赖而实现的。
Linux 发行版目前正在向其软件包存储库推送补丁。建议系统管理员优先更新核心系统库,尤其是在已知 setuid 二进制文件的系统或权限分离至关重要的多用户环境中。
对于无法立即修补的系统,安全专家建议对 setuid 二进制文件进行审核,尤其关注可能静态链接的二进制文件。
暂时限制对这些二进制文件的访问或实施额外的访问控制可以提供临时保护。
此外,组织应考虑通过 PAM 配置或容器安全策略对自定义 LD_LIBRARY_PATH 设置实施系统范围的限制。
新闻链接:
https://gbhackers.com/critical-glibc-flaw/
扫码关注
军哥网络安全读报
讲述普通人能听懂的安全故事
原文始发于微信公众号(军哥网络安全读报):GNU C(glibc)漏洞可以在数百万 Linux 系统执行任意代码
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论