漏洞概述 该漏洞涉及在用户登录时,用户的主组GID(Group ID)被错误地重置为用户的UID(User ID),导致通过 命令设置的GID被静默覆盖。这会导致 和 命令返回不一致的结果。 影响范围 受影响组件: 项目中的用户管理模块。 具体影响:用户登录时,其主组GID会被错误地重置为用户的UID,导致组信息不一致。 修复方案 修复内容:在用户登录时,保留用户的主组GID,不再无条件地将其重置为用户的UID。 代码变更: - 修改了 文件中的 函数,确保在用户首次登录时,如果用户私有组不存在,则默认使用GID = UID。 - 在后续登录时,保留已存在的组记录,避免GID被覆盖。 - 添加了测试用例,验证修复后的行为。 POC代码 测试用例 数据文件