CVE-2025-64517CVE-2025-64517是sudo-rs(使用Rust语言编写的内存安全sudo和su实现)中的一个认证绕过漏洞。该漏洞存在于sudo-rs版本0.2.5至0.2.9之间,当系统配置启用Defaults targetpw或Defaults rootpw选项时,程序会错误地将调用用户的UID而非已认证用户的UID记录到认证时间戳中。这导致在同一终端上、同一时间戳有效期内,后续的sudo命令调用可能绕过新认证要求,即使策略本应要求重新认证。攻击者只需知道一个账户的密码,即可利用此漏洞以该账户的身份运行策略允许的任何其他账户的命令,从而有效绕过targetpw和rootpw选项的预期安全保护。
sudo-rs在处理认证时间戳时存在逻辑错误。当使用targetpw或rootpw选项时,sudo需要使用目标账户或root账户的密码进行认证,而非调用用户的密码。然而,sudo-rs在记录认证时间戳时,错误地保存了调用用户的UID而不是已认证账户的UID。这意味着当用户在时间戳有效期内再次执行sudo命令时,系统会检查时间戳中记录的UID是否与当前调用用户匹配,而不是与实际需要认证的目标用户匹配。攻击者可以先使用自己的密码通过targetpw认证(以root身份运行命令),此时时间戳记录的是攻击者的UID。之后,当攻击者尝试以另一个用户身份运行命令时,如果时间戳仍有效,系统会错误地认为已通过认证,从而允许攻击者在不知道目标账户密码的情况下以该账户身份执行命令。