🇰🇷 한글 설명
OpenPrinting CUPS 2.4.20 미만 버전의 scheduler/ipp.c 내 copy_model() 함수에서 예측 가능한 임시 디렉토리 경로를 사용하여 심볼릭 링크 공격이 가능합니다. 공격자가 lp-group 권한을 가진 상태에서 특정 디렉토리에 심볼릭 링크를 생성하면, 루트 권한으로 실행되는 CUPS 스케줄러가 이를 따라가 파일의 무결성이나 가용성을 해칠 수 있습니다.
💡 쉬운 설명
프린터 관리 프로그램이 임시 파일을 만들 때, 공격자가 미리 만들어둔 가짜 연결 통로(심볼릭 링크)를 따라가게 만드는 취약점입니다. 이를 통해 공격자는 관리자 권한으로 시스템의 중요한 파일을 덮어쓰거나 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
OpenPrinting CUPS is an open source printing system for Linux and other Unix-like operating systems. Prior to 2.4.20, copy_model() in scheduler/ipp.c creates a predictable TempDir/<connection-number>.ppd path in an lp-group-writable directory and opens it as root without O_EXCL or O_NOFOLLOW. Exploitation requires an lp-group process able to write that directory to predict the connection-derived name and plant a symlink before the root open, while a privileged add-printer or modify-printer operation using a model PPD triggers copy_model(). The reporter treats an existing lp foothold and the privileged operation as distinct prerequisites, while the maintainer assesses high privileges because installing the relevant filter or administering the printer requires root or print-administrator access. If the race succeeds, the root scheduler follows the symlink and truncates or overwrites a root-writable target with generated PPD data, compromising file integrity or availability. This issue is fixed in version 2.4.20.
📍 영향받는 시스템
OpenPrinting CUPS 버전 2.4.20 미만
⚔️ 공격 벡터
lp-group 권한을 가진 프로세스가 예측 가능한 임시 경로에 심볼릭 링크를 생성하여 루트 권한의 파일 쓰기를 유도하는 레이스 컨디션 공격
🛡️ 대응 방법
CUPS를 최신 버전인 2.4.20 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 CUPS 버전을 확인하여 2.4.20 미만인지 확인하십시오.
cups-config --version 2>/dev/null || lpstat -v 2>/dev/null | grep -i 'cups' || dpkg -l | grep cups