Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-34990-poc — CVE-2026-34990 — CUPS <= 2.4.16 Élévation de privilèges locale | Kitploit
Outils/GitHubGitHub/bara-almustafa/cve-2026-34990-poc
Outils DéfensifsEscalade de PrivilègesAnalyse des VulnérabilitésExploitationVirtualisation de SécuritéTests d'IntrusionApprentissage et Éducation
GitHubbara-almustafa/cve-2026-34990-poc

CVE-2026-34990-poc

CVE-2026-34990 — CUPS <= 2.4.16 Élévation de privilèges locale

Voir le dépôt
il y a 2 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-34990 — CUPS <= 2.4.16 Élévation de privilèges locale

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

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'élévation 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 drop-in sudoers pour obtenir un shell root.

Ce dépôt contient un PoC Python 3 monofichier implémentant la chaîne d'attaque, incluant un mode --check plus sûr permettant de démontrer le comportement d'écriture de fichier vulnérable sans créer directement une configuration persistante d'élévation 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
ImpactÉlévation 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'élévation 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 vérification sécurisé

Commencez par le mode de vérification non persistant :

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

Le mode vérification tente de démontrer la primitive d'écriture de fichier appartenant à root vulnérable à 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'élévation 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 Élévation de privilèges locale
  PoC par 0xcybersoldier

[*] Déclenchement de la fuite de jeton CUPS...
[+] Jeton d'autorisation Local CUPS capturé
[*] Course à l'écriture de fichier : tentative 1/8
[+] VULNÉRABLE : CUPS a écrit un fichier de preuve appartenant à root

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"
Télécharger l’outil