CVE-2026-35361uutils coreutils组件中的mknod工具在处理设备节点安全标签时存在逻辑缺陷。由于未采用原子操作,工具在设置SELinux上下文之前就已创建节点。若后续设置失败,清理过程因使用了错误的系统调用而无法移除这些节点。结果导致系统上残留具有错误默认上下文的设备节点,攻击者可能利用此绕过强制访问控制策略,获取未授权的设备访问权限。
该漏洞的根本原因在于uutils coreutils实现了mknod命令时,其安全标签设置流程缺乏原子性。正常流程应先创建节点再设置SELinux上下文,但该实现未处理设置上下文失败后的回滚机制。具体而言,当setxattr或类似SELinux上下文设置操作失败时,程序尝试调用std::fs::remove_dir进行清理。然而,remove_dir仅能移除目录,无法删除字符设备、块设备或FIFO特殊文件。这导致设备节点残留在文件系统中。由于节点是在SELinux上下文生效前创建的,它们继承了父目录的默认上下文,而非预期的受限上下文。在高权限用户(如root)执行失败操作后,低权限用户可能通过这些错误标记的节点访问敏感硬件设备,从而破坏系统的强制访问控制(MAC)安全模型。