关键词 安全漏洞
跟踪为 CVE-2025-4802,environment该漏洞源于静态 setuid 二进制文件在通过 dlopen() 进行动态库调用时不正确使用 LD_LIBRARY_PATH 环境变量。 GNU C 库或 glibc 是 GNU 工程和几乎所有主要 Linux 发行版所使用的标准 C 库。它充当操作系统内核和用户空间程序之间的桥梁,实现输入/输出处理、内存分配和网络通信等基本功能。 虽然glibc主要用于动态链接的二进制文件,但它也支持静态链接的可执行文件 – 自包含的程序,包括编译时所有必要的库。 缺陷在于静态 setuid 二进制文件与动态加载器之间的相互作用。advisory根据咨询: 调用 dlopen(包括 setlocale 后的内部 dlopen 调用或调用 NSS 函数(如 getaddrinfo)的静态链接 setuid 二进制文件可能会错误地搜索 LD_LIBRARY_PATH 以确定要加载的库,从而导致执行由攻击者控制的库代码。 通常,像LD_LIBRARY_PATH这样的环境变量被特权二进制文件(即那些有setuid的二进制文件)忽略,以避免引入安全风险。然而,CVE-2025-4802打破了这一假设,允许恶意用户在存在易受攻击的setuid二进制文件并直接或通过常见的libc依赖函数调用dlopen()时注入任意代码。 风险被归类为局部和情境,因为它需要: 系统上的静态链接 setuid 二进制文件。 二进制文件必须调用 dlopen()()——手动或通过间接 libc/NSS 调用。 environment环境必须允许用户设置 LD_LIBRARY_PATH。 该咨询机构承认:“在发布此咨询时没有发现此类计划,但定制setuid程序的存在,尽管作为安全实践受到强烈劝阻,但不能打折扣。 这使得该漏洞成为低概率但高影响力的漏洞,特别是在具有遗留或自定义静态二进制文件的环境中。 系统管理员和 Linux 发行商应: 将 glibc 更新到 2.39 版本,或者如果维护自定义构建,请手动应用修复程序。 审核静态 setuid 二进制文件,并在可能的情况下删除或重新编译它们与动态链接。 安全圈 网罗圈内热点 专注网络安全 实时资讯一手掌握! 好看你就分享 有用就点个赞 支持「安全圈」就点个三连吧! |