Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-34990 — Lokale Rechteausweitung gegen einen Root-`cupsd`. | Kitploit
Tools/GitHubGitHub/gbuyssens/cve-2026-34990
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsPayload-Entwicklung
GitHubgbuyssens/cve-2026-34990

CVE-2026-34990

Lokale Rechteausweitung gegen einen Root-`cupsd`.

Repository anzeigen
vor 3 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-34990 — CUPS lokale Rechteausweitung (cups2root, de-geharnessed)

CVSS 3.x : 8.4 HIGH   (ungefähr — verifizieren)
CWE      : CWE-287 (Improper Authentication) + CWE-269 (Improper Privilege Mgmt)
Fix      : CUPS 2.4.17+
Betrifft : CUPS ≤ 2.4.16 mit cupsd als root und 631 lokal erreichbar

Lokale Rechteausweitung gegen einen root cupsd. Wenn er dazu gezwungen wird, als IPP Client gegenüber einem bösartigen lokalen Server zu agieren, antwortet cupsd auf eine 401 WWW-Authenticate: Local-Challenge, indem es sein eigenes Admin-Token wiedergibt. Das Abfangen dieses Tokens ermöglicht es einem unprivilegierten Benutzer, cupsd als Admin (root) zu steuern. Eine persistente file://-Druckwarteschlange (printer-is-temporary=false) umgeht die FileDevice-Richtlinie, sodass ein roher Print-Job Angreifer-Bytes in jeden Pfad als root schreibt — hier ein NOPASSWD-sudoers-Fragment.


Inhaltsverzeichnis

  • Zusammenfassung der Schwachstelle
  • Ursache
  • Angriffskette
  • De-Harnessing vs. der öffentliche PoC
  • Betroffene Versionen
  • Dieses Repository
  • Verwendung
  • Behebung
  • Referenzen

Zusammenfassung der Schwachstelle

Zwei Primitive verketten sich zu beliebigem Root-Dateischreiben:

  1. Wiederverwendbare Local-Authentifizierung. cupsd akzeptiert eine Local-Authentifizierung, die auf einem Root-Zertifikat unter /run/cups/certs/ basiert. Als IPP-Client bietet es dieses Admin-Token an, wenn es mit 401 WWW-Authenticate: Local herausgefordert wird. Richte cupsd auf einen gefälschten IPP-Server, den du kontrollierst, und du fängst ein Token ab, das gültig ist, um es als root zu steuern.
  2. FileDevice-Umgehung. file:// als device-uri wird standardmäßig abgelehnt. Das Erstellen der Warteschlange mit printer-is-temporary=false persistiert sie und umgeht diese Sperre; ein roher Print-Job schreibt dann seine Bytes direkt in die Zieldatei, als root.

Ursache

                  cupsd (root)                     rogue server 127.0.0.1:9189
                       |                                    |
  CUPS-Create-Local-Printer                                 |
  device-uri=ipp://127.0.0.1:9189/ipp/print                 |
                       |  "validate" the printer            |
                       |----------------------------------->|
                       |   401 WWW-Authenticate: Local      |
                       |<-----------------------------------|
                       |   retry + Authorization: Local <T> |
                       |----------------------------------->|  capture <T>

<T> ist cupsds eigenes Admin-Token — gib es gegen /admin/ wieder und du bist root-äquivalent.


Angriffskette

1. Cap thread          bind 127.0.0.1:9189, answer 401 Local, capture token
2. Coerce              CUPS-Create-Local-Printer -> device-uri ipp://127.0.0.1:9189/...
                       -> cupsd connects out -> 401 -> retry -> [+] Local token
3. Root write          CUPS-Add-Modify-Printer  device-uri=file:///etc/sudoers.d/<user>-pwn
                       printer-is-temporary=false (FileDevice bypass) + accept + resume
                       Print-Job (application/vnd.cups-raw, gzip) = "<user> ALL=(ALL) NOPASSWD: ALL"
4. Verify              sudo -n id   ->   root
   (fallback: a root cron job dropped to /etc/cron.d/<user>-pwn copies /etc/shadow
    to /tmp/shadow-<user> mode 644; wait ≤90s for cron)

De-Harnessing vs. der öffentliche PoC

Der Referenz-PoC (GHSA-c54j-2vqw-wpwp / cups2root, R. de Jager) ist ein Demo-Harness: Er läuft als root, startet seinen eigenen cupsd und einen Wegwerf-unpriv-Benutzer und verwendet dann sudo -u unpriv, um den Angreifer zu simulieren. So nicht verwendbar. Änderungen:

  1. De-geharnessed — kein root/spawn-Gerüst; zielt auf den System-cupsd, der bereits root ist, auf 127.0.0.1:631.
  2. Echtes Ziel — Angreifer = aktueller Benutzer (oder $ATTACKER); Fragment <user> ALL=(ALL) NOPASSWD: ALL.
  3. Rohes IPP über Sockets — vollständige Neufassung ohne ipptool / lpadmin / lpinfo / cupsctl

Betroffene Versionen

StatusVersionen
AnfälligCUPS ≤ 2.4.16
BehobenCUPS 2.4.17 und später

Dieses Repository

DateiRolle
exploit.pyPoC: Token-Leak → file://-Warteschlange → roher Print-Job → sudoers root
README.mdDiese Datei

Verwendung

Nur Python-3-Standardbibliothek — keine Abhängigkeiten.

# attacker = current user, cupsd on 127.0.0.1:631
python3 exploit.py

# override the target user (e.g. after landing as anotheruser)
ATTACKER=anotheruser python3 exploit.py

# non-default cupsd / capture endpoint
IPP_HOST=127.0.0.1 IPP_PORT=631 CAPTURE_PORT=9189 python3 exploit.py

Bei Erfolg:

[+] Local token: <token>
[+] ROOT via sudoers

dann sudo -i.


Behebung

  1. Upgrade auf CUPS 2.4.17+.
  2. cupsd nach Möglichkeit nicht als root ausführen; Privilegien abgeben / den Dienst sandboxen.
  3. Die Local-Authentifizierung und das file://-Device-Backend einschränken; die FileDevice-Richtlinie für persistente Warteschlangen durchsetzen.
  4. Falls Drucken nicht benötigt wird: systemctl disable --now cups cups-browsed und das Paket entfernen.

Referenzen

  • NVD — CVE-2026-34990
  • GHSA-c54j-2vqw-wpwp — cups2root (R. de Jager, v12-security)
  • OpenPrinting CUPS 2.4.17 Versionshinweise

Haftungsausschluss

Dieses Projekt dient ausschließlich autorisierten Sicherheitstests, der Bildung und der defensiven Forschung. Du bist dafür verantwortlich, die geltenden Gesetze und die Rules of Engagement deines Labors oder Kunden einzuhalten.

Tool herunterladen