sudo-rs身份验证绕过漏洞分析

本文详细分析了CVE-2025-64517漏洞,该漏洞影响sudo-rs 0.2.5至0.2.10版本,在启用targetpw或rootpw配置时,时间戳文件错误记录了调用用户UID而非认证用户UID,导致身份验证绕过风险。

概述

CVE-2025-64517 - sudo-rs在时间戳中未正确记录认证用户

漏洞描述

sudo-rs是用Rust编写的sudo和su的内存安全实现。在启用Defaults targetpw(或Defaults rootpw)时,系统使用目标账户(或root账户)的密码而非调用用户的密码进行身份验证。

从0.2.5版本开始到0.2.10版本之前的sudo-rs,在认证时间戳中错误地记录了调用用户的UID,而不是认证用户的UID。当时间戳仍然有效时,在同一终端上后续的任何sudo调用都会使用该时间戳,即使策略要求重新认证,也可能绕过新的身份验证。

拥有高权限的用户(能够通过sudo以其他用户或root身份运行命令),如果知道他们被允许运行命令的某个账户的密码,将能够以策略允许他们运行命令的任何其他账户运行命令,即使他们不知道这些账户的密码。这种情况的一个常见实例是,用户仍然可以使用自己的密码以root身份运行命令(sudo的默认行为),实际上抵消了targetpwrootpw选项的预期行为。

0.2.10版本包含针对此问题的补丁。0.2.5之前的版本不受影响,因为它们不提供Defaults targetpwDefaults rootpw

漏洞信息

发布日期:2025年11月12日 22:15
最后修改:2025年11月12日 22:15
远程利用:否
来源:security-advisories@github.com

受影响产品

目前尚未记录受影响的产品

CVSS评分

评分:4.4
版本:CVSS 3.1
严重程度:中等
向量:AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N
可利用性评分:0.8
影响评分:3.6
来源:security-advisories@github.com

解决方案

  • 将sudo-rs更新到0.2.10或更高版本以修复时间戳身份验证绕过问题
  • 应用任何必要的配置更改
  • 验证认证日志中的异常情况
  • 如果适用,重新启动受影响的服务

参考链接

CWE关联

CWE-287:不正确的身份验证

CAPEC攻击模式

  • CAPEC-22:利用客户端信任
  • CAPEC-57:利用REST对系统资源的信任获取敏感数据
  • CAPEC-94:中间人攻击(AiTM)
  • CAPEC-114:身份验证滥用
  • CAPEC-115:身份验证绕过
  • CAPEC-151:身份欺骗
  • CAPEC-194:伪造数据来源
  • CAPEC-593:会话劫持
  • CAPEC-633:令牌冒充
  • CAPEC-650:向Web服务器上传Web Shell

漏洞历史

新CVE接收:由security-advisories@github.com于2025年11月12日提交

操作 类型 旧值 新值
添加 描述 - sudo-rs漏洞描述内容
添加 CVSS V3.1 - AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N
添加 CWE - CWE-287
添加 参考链接 - GitHub发布和安全公告链接
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计