🔍 CVE-2019-18684

7.0
CVSS Score
HIGH
2019-11-04
2026-06-17 02:25
✅ 완료

🇰🇷 한글 설명

Sudo 1.8.29 버전에서 로컬 사용자가 파일 디스크립터 3번에 대한 쓰기 권한을 가질 경우 루트 권한으로 상승할 수 있는 취약점입니다. UID 결정과 setresuid 및 openat 시스템 호출 사이의 레이스 컨디션(Race Condition)으로 인해 발생합니다. 다만, Linux /proc 동작 방식에 따라 실제 /etc/sudoers 파일에 쓰기 권한이 없다면 공격이 불가능할 수 있다는 논란이 있습니다.

💡 쉬운 설명

컴퓨터 관리자 권한을 얻기 위해 프로그램이 작동하는 찰나의 순간을 이용해 가짜 명령을 끼워 넣는 공격입니다. 하지만 실제로는 시스템 보안 설정 때문에 이 방법이 통하지 않을 수도 있다는 의견이 있습니다.

🇺🇸 원문 (English)

Sudo through 1.8.29 allows local users to escalate to root if they have write access to file descriptor 3 of the sudo process. This occurs because of a race condition between determining a uid, and the setresuid and openat system calls. The attacker can write "ALL ALL=(ALL) NOPASSWD:ALL" to /proc/#####/fd/3 at a time when Sudo is prompting for a password. NOTE: This has been disputed due to the way Linux /proc works. It has been argued that writing to /proc/#####/fd/3 would only be viable if you had permission to write to /etc/sudoers. Even with write permission to /proc/#####/fd/3, it would not help you write to /etc/sudoers

📍 영향받는 시스템

Sudo 1.8.29 이하 버전

⚔️ 공격 벡터

로컬 사용자가 Sudo 프로세스의 파일 디스크립터 3번에 접근하여 레이스 컨디션을 이용한 권한 상승 시도

🛡️ 대응 방법

Sudo를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 1.8.29보다 낮은지 확인하십시오.

Shell / Script
sudo --version | grep -E 'Sudo \[version [0-9.]+'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Sudo