🔍 CVE-2004-1051

7.2
CVSS Score
HIGH
2005-03-01
2026-06-16 22:06
✅ 완료

🇰🇷 한글 설명

sudo 1.6.8p2 이전 버전에서 "()" 형태의 환경변수를 통해 bash 함수를 생성하면, 절대경로 없이 호출되는 스크립트 내의 프로그램과 동일한 이름의 함수가 우선실행되어 임의 명령을 실행할 수 있는 취약점입니다. 로컬 사용자가 권한 상승을 통해 악의적인 명령을 실행할 수 있습니다.

💡 쉬운 설명

sudo가 프로그램을 찾을 때, 가짜 프로그램(함수)을 먼저 발견하면 그것을 실행하는 문제입니다. 로컬 사용자가 이를 악용해 관리자 권한으로 나쁜 명령을 실행할 수 있습니다.

🇺🇸 원문 (English)

sudo before 1.6.8p2 allows local users to execute arbitrary commands by using "()" style environment variables to create functions that have the same name as any program within the bash script that is called without using the program's full pathname.

📍 영향받는 시스템

sudo 버전 1.6.8p2 미만 (Linux, Unix 계열 OS)

⚔️ 공격 벡터

로컬 사용자가 '() { command; }' 형태의 환경변수를 설정한 후 sudo를 통해 스크립트 실행 시 악의적 함수가 정상 프로그램을 대체

🛡️ 대응 방법

sudo를 1.6.8p2 이상으로 업그레이드하여 환경변수 함수 실행 차단

🔧 검증 코드

sudo 버전이 1.6.8p2 미만이면 'VULNERABLE', 이상이면 'PATCHED'로 출력됨

Shell / Script
sudo --version | grep -oP 'version \K[0-9.]+' | awk -F. '{if($1<1 || ($1==1 && $2<6) || ($1==1 && $2==6 && $3<8) || ($1==1 && $2==6 && $3==8 && $4<2)) print "VULNERABLE"; else print "PATCHED"}'

📊 CVSS Vector String

CVSS Vector
AV:L/AC:L/Au:N/C:C/I:C/A:C

💻 영향받는 소프트웨어

Sudo