漏洞总结 漏洞概述 漏洞编号: #10036 漏洞描述: 命令在创建目录时,先使用 umask 设置权限,然后调用 修改权限。这导致在 和 之间存在一个短暂的时间窗口,目录可能以错误的权限存在。 影响: 在多用户环境中,这可能导致权限泄露或安全漏洞。 影响范围 受影响组件: 库中的 命令 受影响版本: 未明确指定,但涉及 库的 功能 修复方案 修复方法: 通过临时设置 umask 为 0,在 系统调用中传递请求的确切模式,然后在创建目录后恢复原始的 umask。这样可以在内核中原子性地创建具有正确权限的目录。 代码变更: - 修改 命令的实现,确保在创建目录时使用正确的权限。 - 添加测试用例以验证 选项绕过 umask 的正确性。 POC代码 其他信息 相关讨论: 讨论了多线程环境下使用 库的安全性问题,以及是否需要添加互斥锁来保护 umask 操作。 测试情况: 修复后通过了 GNU 测试套件中的 测试。