Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-34990-poc — CUPS 2.4.16 로컬 프린터 취약점을 재현하는 Python PoC: 악성 IPP 엔드포인트를 통해 Local 인증 토큰을 탈취하고, file:// 프린터를 생성한 뒤 작업을 경쟁시켜 root 소유 파일을 작성합니다. | Kitploit
도구/GitHubGitHub/0xc4rc3l/cve-2026-34990-poc
Defensive ToolsPrivilege EscalationVulnerability AnalysisExploitationPenetration Testing
GitHub0xc4rc3l/cve-2026-34990-poc

CVE-2026-34990-poc

CUPS 2.4.16 로컬 프린터 취약점을 재현하는 Python PoC: 악성 IPP 엔드포인트를 통해 Local 인증 토큰을 탈취하고, file:// 프린터를 생성한 뒤 작업을 경쟁시켜 root 소유 파일을 작성합니다.

저장소 보기
13일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-34990 — CUPS 로컬 프린터 PoC

승인된 테스트 / 연구 용도로만 사용하십시오. 본 PoC는 본인이 소유하거나 명시적으로 테스트 권한을 부여받은 시스템에 대해서만 실행하십시오.

이 저장소는 CUPS 2.4.16의 로컬 프린터 취약점을 시스템 CUPS 환경에서 재현한 구현을 포함합니다.

이 구현은 공개된 CUPS 취약점 재현 코드를 기반으로 개발되었으며, 별도로 설치된 CUPS 빌드와 루트 권한으로 실행되는 재현 하네스를 요구하는 대신, 이미 실행 중인 시스템 CUPS 설치를 대상으로 동작하도록 개조되었습니다.

이 PoC가 보여주는 것

재현은 다음과 같은 일반적인 체인을 따릅니다:

CUPS 2.4.16
    │
    ▼
로컬 인증 챌린지
    │
    ▼
공격자가 제어하는 IPP 엔드포인트
    │
    ▼
Authorization: Local <token>
    │
    ▼
인증된 CUPS 관리
    │
    ▼
CUPS-Create-Local-Printer
    │
    ▼
file:// 디바이스 URI
    │
    ▼
프린터/작업 레이스
    │
    ▼
루트 소유 대상 파일

이 익스플로잇은 레이스에 의존하므로, 매 시도마다 성공이 보장되지는 않습니다.

이 구현이 존재하는 이유

공개된 재현 코드는 통제된 취약점 하네스로 설계되었습니다. 특히, 전용 CUPS 설치를 가정하고 재현 환경에는 적절하지만 이미 실행 중인 배포판 설치를 대표하지는 않는 설정/초기화 작업을 수행합니다.

이 구현은 대신 다음과 같이 동작합니다:

  • 시스템의 기존 CUPS 서비스를 사용합니다.
  • 설치된 ipptool 바이너리를 사용합니다.
  • 사용 가능한 경우 시스템의 cups-create-local-printer.test 정의를 사용합니다.
  • CUPS Local 인증 토큰을 캡처합니다.
  • 해당 토큰을 인증된 IPP 관리에 재사용합니다.
  • 로컬 프린터 / file:// 프리미티브를 재현합니다.
  • 재현 코드에서 사용하는 프린터/작업 시퀀스를 수행합니다.
  • 최종 권한 확인을 성공 조건으로 간주합니다.

요구 사항

작성자의 랩 환경에서 테스트됨:

  • CUPS 2.4.16
  • Python 3
  • ipptool

테스트 정의는 다음 위치에 있을 것으로 예상됩니다:

/usr/share/cups/ipptool/cups-create-local-printer.test

다음 명령으로 설치 상태를 확인하십시오:

cupsd -v
which ipptool
find /usr/share/cups -name 'cups-create-local-printer.test' 2>/dev/null

사용법

환경 변수를 통해 공격자 신원과 대상 경로를 설정하십시오:

export CUPS_ATTACKER="$USER"
export CUPS_TARGET="/tmp/cups-poc-target"
python3 exploit.py

통제된 권한 상승 재현을 위해서는 격리된 테스트 환경에 적합한 대상을 선택하십시오.

이 스크립트는 또한 기본적으로 /etc/sudoers.d/ 아래의 sudoers 스타일 대상을 사용하므로, 프로덕션 시스템에서 무심코 실행하지 마십시오.

중요한 구현 세부 사항

로컬 토큰 노출

PoC는 IPP 리스너를 시작하고 CUPS가 이에 대해 인증하도록 유도합니다. 리스너는 처음에 다음과 함께 401 챌린지를 반환합니다:

WWW-Authenticate: Local trc="y"

이어지는 요청에는 다음이 포함됩니다:

Authorization: Local <token>

그런 다음 토큰은 로컬 CUPS 관리 엔드포인트에 대해 재사용됩니다.

로컬 프린터 생성

재현은 file:// 디바이스 URI와 함께 다음을 사용합니다:

CUPS-Create-Local-Printer

레이스 / 작업 시퀀스

후보 루프는 다음을 포함한 프린터 작업을 반복적으로 수행합니다:

CUPS-Add-Modify-Printer
CUPS-Accept-Jobs
Resume-Printer
Print-Job

단일 시도가 성공하지 못할 수 있으므로 레이스는 의도적으로 반복됩니다.

공개된 재현 코드와의 관계

이 저장소는 개조판이며, 정식 업스트림 구현이 아닙니다.

요청 구성 로직과 익스플로잇 시퀀스는 공개된 재현 코드를 기반으로 합니다. 주요 변경 사항은 기존 시스템 CUPS 설치에 대해 실행하는 것과 재현 환경 설정/초기화 가정을 제거하는 것에 관한 것입니다.

권위 있는 취약점 정보와 원본 재현 코드는 업스트림 OpenPrinting CUPS 보안 권고 및 저장소를 참조하십시오.

제한 사항

  • 이 익스플로잇은 레이스에 의존합니다.
  • 배포판별 CUPS 구성이 동작에 영향을 미칠 수 있습니다.
  • 파일 권한 및 AppArmor/기타 격리 기능이 결과를 바꿀 수 있습니다.
  • 토큰 노출에 성공했다고 해서 그 자체로 권한 상승에 성공했다는 의미는 아닙니다.
  • 이 PoC는 작성자의 통제된 랩 환경에서만 검증되었습니다.

책임 있는 사용

권한 없이 CUPS 설치에 대해 이 도구를 사용하지 마십시오.

방어적 검증을 위해 유용한 지표로는 공격자가 제어하는 엔드포인트로의 예상치 못한 IPP 요청, 비정상적인 Local 인증 교환, 예상치 못한 로컬 프린터 생성, 의심스러운 프린터/작업 활동 등이 있습니다.

도구 다운로드