IPBUF安全漏洞报告
English
CVE-2026-35370 CVSS 4.4 中危

CVE-2026-35370: uutils coreutils id命令组计算错误漏洞

披露日期: 2026-04-22

漏洞信息

漏洞编号
CVE-2026-35370
漏洞类型
权限绕过
CVSS评分
4.4 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
uutils coreutils

相关标签

权限绕过uutils coreutils逻辑错误本地漏洞

漏洞概述

uutils coreutils组件中的id工具存在安全漏洞,其在计算输出中的groups部分时,错误地使用了用户的真实GID而非有效GID。这导致该工具的输出行为与标准的GNU coreutils存在显著差异。由于大量自动化脚本和系统进程依赖id命令的输出来执行关键的安全访问控制或权限决策,这种计算差异可能导致系统遭受未经授权的访问或出现严重的安全配置错误。

技术细节

该漏洞源于uutils coreutils在实现id工具时的逻辑缺陷。在Unix/Linux系统中,进程同时拥有真实组ID(RGID)和有效组ID(EGID),其中有效GID决定了进程当前实际的文件访问权限。标准的GNU coreutils在计算用户所属组列表时,基于有效GID进行判定,以准确反映进程的权限上下文。然而,uutils coreutils的实现却错误地基于真实GID进行计算。攻击者可以通过在本地系统中运行设置了SGID位的程序,或者利用其他权限切换机制,改变当前进程的有效GID。随后,当受影响的id命令被调用时,它将显示基于真实GID的组列表,而非当前生效的权限组。这种差异极具危险性,因为许多系统脚本和安全工具依赖解析id命令的输出来做授权决策。攻击者可利用此漏洞,欺骗这些脚本使其误判用户权限,从而绕过基于组的访问控制限制,获取本应禁止访问的敏感资源或执行特权操作。

攻击链分析

STEP 1
本地访问
攻击者获取目标系统的低权限用户访问能力(AV:L, PR:L)。
STEP 2
环境识别
确认目标系统使用的是存在漏洞的uutils coreutils而非GNU coreutils。
STEP 3
权限上下文切换
攻击者执行SGID程序或利用setegid系统调用,将当前进程的有效GID(EGID)切换到具有特定权限的组。
STEP 4
执行漏洞命令
在新的权限上下文中执行uutils版本的id命令。
STEP 5
利用输出差异
由于id命令返回基于真实GID的组列表,自动化脚本误判用户不具备目标组的权限,或反之,攻击者利用此绕过安全检查。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#include <stdio.h> #include <unistd.h> #include <sys/types.h> /* * PoC for CVE-2026-35370 * This C program demonstrates the discrepancy between Real GID and Effective GID. * Compile with: gcc poc.c -o poc * Run with: ./poc */ int main() { // Assume we want to test membership in group 1001 (effective GID) gid_t target_egid = 1001; if (setegid(target_egid) != 0) { perror("Failed to set Effective GID"); return 1; } printf("[+] Process Info:\n"); printf(" Real GID: %d\n", getgid()); printf(" Effective GID: %d\n", getegid()); printf("\n[!] Running 'id' command (vulnerable uutils version):\n"); // The vulnerable 'id' will calculate groups based on Real GID (getgid()) // instead of Effective GID (getegid()), potentially missing 'target_egid'. system("id"); return 0; }

影响范围

uutils coreutils (修复前版本)

防御指南

临时缓解措施
建议暂时将系统中的id工具替换为标准的GNU coreutils版本,或者修改受影响的自动化脚本,使其通过读取/proc/[pid]/status文件或直接调用系统调用来获取进程的有效GID(EGID),避免依赖id命令的文本输出进行权限判断。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表