Retour aux mises à jour
UpdatedAug 4, 2026

CVE-2026-39875-macOS-CUPS-LPE — Mis à jour !

Utilisateur non privilégié à root sur macOS Sonoma, Sequoia et Tahoe. Corrigé dans macOS 26.6 / 15.7.8 / 14.8.8.

Partager

CVE-2026-39875-macOS-CUPS-LPE

Élévation d'un utilisateur non privilégié à root via une vulnérabilité CUPS affectant macOS Tahoe, Sequoia et Sonoma avant macOS 26.6 / 15.7.8 / 14.8.8.

Démonstrations de preuve de concept

macOS Tahoe 26.4.1

Tahoe 26.4.1

macOS Sequoia 15.7.5

Sequoia 15.7.5

macOS Sonoma 14.8.5

Sonoma 14.8.5

Cause racine

La vulnérabilité provient de deux défauts logiques enchaînés dans le démon privilégié cupsd.

1. Jeton d'authentification privilégié transmis à travers une frontière de confiance.

Lorsque CUPS sonde une imprimante nouvellement enregistrée, il transmet un jeton d'authentification Local valide au backend de l'imprimante — le point de terminaison spécifié par le device-uri de l'imprimante. Comme un utilisateur non privilégié contrôle ce device-uri, il peut enregistrer une imprimante pointant vers un écouteur qu'il contrôle et recevoir un jeton qui n'était jamais destiné à quitter la frontière du sous-système de confiance. La conception suppose que le backend est de confiance ; autoriser des utilisateurs non privilégiés à enregistrer des imprimantes brise cette hypothèse.

2. E/S de fichiers avec privilèges root accessibles avant la fin de la validation de l'authentification.

Dans une fenêtre temporelle reproductible de manière fiable pendant l'enregistrement de l'imprimante, cupsd effectue une écriture de fichier avec les privilèges root avant que la validation de l'authentification ne soit terminée. Les E/S privilégiées ne sont pas conditionnées à la résolution de la vérification d'authentification, et le chemin de destination ainsi que le contenu du fichier sont influencés par l'attaquant au moment de l'écriture.


Démonstration

python3 poc.py

La preuve de concept enchaîne les deux défauts en trois étapes.

Étape 1 — Capture du jeton. L'attaquant enregistre une imprimante dont le device-uri pointe vers un écouteur local qu'il contrôle, puis déclenche une sonde. cupsd transmet un jeton d'authentification Local valide à l'écouteur contrôlé par l'attaquant.

Étape 2 — Rejeu du jeton. L'attaquant rejoue le jeton capturé pour enregistrer une seconde imprimante avec un device-uri file:// ciblant un chemin arbitraire, non protégé par SIP, de son choix.

Étape 3 — Écriture arbitraire en tant que root. L'attaquant soumet un travail d'impression avec un contenu contrôlé par l'attaquant à la seconde imprimante. cupsd écrit les données du travail dans le chemin spécifié en tant que root. Aucune interaction de l'utilisateur n'est requise à aucune étape

Ensuite, le script vérifiera que le fichier a été créé en tant que root, démontrant ainsi la vulnérabilité.

Remarque : Cette preuve de concept démontre uniquement l'écriture arbitraire de fichier en tant que root. Elle n'élève pas les privilèges.

Crédits

Découverte indépendamment par Dallas Dubs ; Apple crédite également Aaron Grattafiori - NVIDIA AI Red Team, XBreach.ai, Andreas Jaegersberger & Ro Achterberg de Nosebeard Labs

Catégories