Torna agli aggiornamenti
UpdatedAug 4, 2026

CVE-2026-39875-macOS-CUPS-LPE — Updated!

Da utente non privilegiato a root su macOS Sonoma, Sequoia e Tahoe. Corretto in macOS 26.6 / 15.7.8 / 14.8.8.

Condividi

CVE-2026-39875-macOS-CUPS-LPE

Da utente non privilegiato a root tramite una vulnerabilità in CUPS che interessa macOS Tahoe, Sequoia e Sonoma precedenti a macOS 26.6 / 15.7.8 / 14.8.8.

Dimostrazioni del Proof of 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

Causa principale

La vulnerabilità deriva da due difetti logici concatenati nel demone privilegiato cupsd.

1. Token di autenticazione privilegiato inoltrato attraverso un confine di fiducia.

Quando CUPS esegue un probe su una stampante appena registrata, inoltra un token di autenticazione Local valido al backend della stampante — l'endpoint specificato dal device-uri della stampante. Poiché un utente non privilegiato controlla quel device-uri, può registrare una stampante che punta a un listener sotto il proprio controllo e ricevere un token che non era mai stato pensato per oltrepassare il confine del sottosistema fidato. Il design presuppone che il backend sia fidato; consentire a utenti non privilegiati di registrare stampanti infrange questa assunzione.

2. I/O su file con privilegi di root raggiungibile prima del completamento della validazione dell'autenticazione.

All'interno di una finestra temporale riproducibile in modo affidabile durante la registrazione della stampante, cupsd esegue una scrittura su file con privilegi di root prima che la validazione dell'autenticazione sia completata. L'I/O privilegiato non è condizionato dal completamento del controllo di autenticazione, e sia il percorso di destinazione che il contenuto del file sono influenzabili dall'attaccante nel momento in cui la scrittura avviene.


Dimostrazione

python3 poc.py

Il proof of concept combina i due difetti in tre fasi.

Fase 1 — Acquisizione del token. L'attaccante registra una stampante il cui device-uri punta a un listener locale sotto il proprio controllo, quindi attiva un probe. cupsd inoltra un token di autenticazione Local valido al listener controllato dall'attaccante.

Fase 2 — Replay del token. L'attaccante effettua il replay del token catturato per registrare una seconda stampante con un device-uri file:// che punta a un percorso arbitrario, non protetto da SIP, a propria scelta.

Fase 3 — Scrittura arbitraria come root. L'attaccante invia un job di stampa con contenuto controllato dall'attaccante alla seconda stampante. cupsd scrive i dati del job nel percorso specificato come root. Nessuna interazione da parte dell'utente è richiesta in nessuna fase

Successivamente, lo script verificherà che il file sia stato creato come root, dimostrando così la vulnerabilità.

Nota: questo proof-of-concept dimostra esclusivamente la scrittura arbitraria di file come root. Non effettua escalation di privilegi.

Crediti

Scoperta in modo indipendente da Dallas Dubs; accreditati anche da Apple: Aaron Grattafiori - NVIDIA AI Red Team, XBreach.ai, Andreas Jaegersberger e Ro Achterberg di Nosebeard Labs

Categorie