Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-34990-poc — CVE-2026-34990 — CUPS <= 2.4.16 Escalatione di Privilegi Locale | Kitploit
Strumenti/GitHubGitHub/bara-almustafa/cve-2026-34990-poc
Strumenti DifensiviEscalation di PrivilegiAnalisi delle VulnerabilitàExploitVirtualizzazione per la SicurezzaPenetration TestingApprendimento e Formazione
GitHubbara-almustafa/cve-2026-34990-poc

CVE-2026-34990-poc

CVE-2026-34990 — CUPS <= 2.4.16 Escalatione di Privilegi Locale

Vedi Repository
2 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-34990 — Escalation de privilèges locale dans CUPS <= 2.4.16

Utilisateur local non privilégié → root, via un jeton d'autorisation Local de CUPS divulgué et une file d'impression file:/// contournant les politiques.

PoC par 0xcybersoldier

status platform language type CVE


Table des matières

  • Vue d'ensemble
  • Détails de la vulnérabilité
  • Versions affectées
  • Chaîne d'attaque
  • Prérequis
  • Installation
  • Utilisation
  • Exemple d'exécution
  • Fonctionnement interne
  • Dépannage
  • Détection
  • Atténuation
  • Références
  • Avertissement
  • Auteur

Vue d'ensemble

CVE-2026-34990 est une faille d'escalade de privilèges locale dans OpenPrinting CUPS affectant les versions 2.4.16 et antérieures.

Un utilisateur local non privilégié pouvant atteindre le démon CUPS (cupsd) peut potentiellement l'amener à s'authentifier auprès d'un service IPP contrôlé par l'attaquant sur l'interface loopback.

Le justificatif Authorization: Local <token> résultant peut ensuite être réutilisé contre l'interface d'administration de CUPS.

La chaîne d'attaque peut finalement être utilisée pour créer une file d'impression file:/// et amener cupsd à écrire un fichier contrôlé par l'attaquant avec les privilèges root.

La démonstration canonique utilise un fichier déposé dans sudoers pour obtenir un shell root.

Ce dépôt contient un PoC Python 3 en fichier unique implémentant la chaîne d'attaque, incluant un mode --check plus sûr permettant de démontrer le comportement vulnérable d'écriture de fichier sans créer directement une configuration persistante d'escalade de privilèges.


Détails de la vulnérabilité

ChampValeur
CVE IDCVE-2026-34990
ComposantOpenPrinting CUPS (cupsd)
Versions affectées<= 2.4.16
Classe de vulnérabilitéCWE-306 / CWE-284
ImpactEscalade de privilèges locale
Vecteur d'attaqueLocal
Privilèges requisFaibles
Interaction utilisateurAucune
Découvert parAsim Viladi Oglu Manizada
AvisGHSA-c54j-2vqw-wpwp

Versions affectées

Le PoC cible :

OpenPrinting CUPS <= 2.4.16

Vérifier la version de CUPS en cours d'exécution localement :

curl -sI http://127.0.0.1:631 | grep -i '^Server:'

Exemple :

Server: CUPS/2.4.16 IPP/2.1

Remarque : Vérifiez l'avis amont actuel avant de vous fier à la plage de versions affectées dans le cadre de recherches en production, car les correctifs des fournisseurs et le statut des versions peuvent évoluer.


Chaîne d'attaque

 [1] L'utilisateur local émet CUPS-Create-Local-Printer
         |
         | device-uri = ipp://127.0.0.1:9189/ipp/print
         v
 [2] cupsd se connecte au service IPP contrôlé
     par l'attaquant sur le loopback
         |
         v
 [3] Le faux service IPP répond avec :
     401 Unauthorized
     WWW-Authenticate: Local trc="y"
         |
         v
 [4] CUPS/libcups réessaie la requête avec :
     Authorization: Local <token>
         |
         v
 [5] Jeton capturé
         |
         v
 [6] Jeton réutilisé contre l'interface d'administration de CUPS
         |
         v
 [7] Une imprimante temporaire file:// est créée et
     passe par le flux de gestion des imprimantes
         |
         v
 [8] Print-Job amène cupsd à écrire le document
     fourni vers la cible file://
         |
         v
 [9] La charge utile de démonstration peut modifier une
     configuration privilégiée telle que sudoers
         |
         v
       ROOT

Prérequis

  • Python 3.8+
  • Bibliothèque standard Python uniquement
  • Accès shell local en tant qu'utilisateur non privilégié
  • Service CUPS accessible sur 127.0.0.1:631
  • sudo disponible pour la démonstration d'escalade de privilèges
  • Un système Linux exécutant une version vulnérable de CUPS

Aucun paquet Python externe n'est requis.


Installation

Cloner le dépôt :

git clone https://github.com/bara-almustafa/CVE-2026-34990-poc.git
cd CVE-2026-34990-poc

Rendre le PoC exécutable :

chmod +x cve-2026-34990.py

Aucune dépendance supplémentaire n'est requise.


Utilisation

Mode de vérification sécurisé

Commencez par le mode de vérification non persistant :

./cve-2026-34990.py --check

Le mode check tente de démontrer la primitive vulnérable d'écriture de fichier appartenant à root à l'aide d'un fichier de preuve temporaire et nettoie après le test.


Démonstration de shell root

Le mode par défaut démontre la chaîne complète d'escalade de privilèges :

./cve-2026-34990.py

Exécuter une commande en tant que root

Une commande peut être fournie avec :

./cve-2026-34990.py -c 'id'

Exemple :

./cve-2026-34990.py -c 'id; whoami'

Options

OptionDéfautDescription
--cups-port631Port TCP local de CUPS
--listen-port9189Port loopback utilisé par l'écouteur de capture de jeton
--checkOffMode de vérification sécurisé
-c, --command—Exécuter une commande après exploitation réussie
--proof-dir/var/tmpRépertoire parent pour les fichiers de preuve temporaires
--attempts8Nombre de tentatives d'écriture de fichier
--iterations80Nombre de cycles de requêtes IPP par tentative

Exemple d'exécution

$ ./cve-2026-34990.py --check

 ██████╗ ██╗  ██╗ ██████╗██╗   ██╗██████╗ ███████╗██████╗ ███████╗ ██████╗ ██╗     ██████╗ ██╗███████╗██████╗
██╔═████╗╚██╗██╔╝██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗██╔════╝██╔═══██╗██║     ██╔══██╗██║██╔════╝██╔══██╗
██║██╔██║ ╚███╔╝ ██║      ╚████╔╝ ██████╔╝███████╗██████╔╝█████╗  ██║   ██║██║     ██║  ██║██║█████╗  ██████╔╝
████╔╝██║ ██╔██╗ ██║       ╚██╔╝  ██╔══██╗╚════██║██╔══██╗██╔══╝  ██║   ██║██║     ██║  ██║██║██╔══╝  ██╔══██╗
╚██████╔╝██╔╝ ██╗╚██████╗   ██║   ██████╔╝███████║██║  ██║███████╗╚██████╔╝███████╗██████╔╝██║███████╗██║  ██║
 ╚═════╝ ╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚═════╝ ╚══════╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝╚══════╝╚═╝  ╚═╝

  CVE-2026-34990 :: CUPS <= 2.4.16 Local Privilege Escalation
  PoC by 0xcybersoldier

[*] Triggering CUPS token leak...
[+] Captured CUPS Local authorization token
[*] File-write race: attempt 1/8
[+] VULNERABLE: CUPS wrote a root-owned proof file

Fonctionnement interne

1. Capture du jeton

Le PoC crée une imprimante CUPS temporaire dont le device-uri pointe vers un écouteur IPP contrôlé par l'attaquant sur l'interface loopback.

Exemple :

ipp://127.0.0.1:9189/ipp/print

L'écouteur local répond avec un défi d'authentification :

401 Unauthorized
WWW-Authenticate: Local trc="y"

Cela amène l'interaction client/serveur CUPS à réessayer en utilisant le mécanisme d'authentification local.

Scarica lo strumento