
CVE-2025-70341: Escalation dei privilegi locale tramite TOCTOU in App-Auto-Patch
App-Auto-Patch v3.4.2 crea la propria directory di lavoro con permessi scrivibili da tutti (chmod 777), consentendo una condizione di gara TOCTOU (time-of-check-time-of-use) locale. Un utente locale non privilegiato può sfruttare questo problema per sostituire i pacchetti verificati con uno dannoso prima dell'installazione, ottenendo l'esecuzione arbitraria di codice come root. Inoltre, un frammento di etichetta Installomator malevolo può ottenere l'esecuzione arbitraria di codice tramite eval di input non sanificati durante l'analisi delle etichette.
Punteggio: 7.8 (Alto)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
File: App-Auto-Patch-via-Dialog.zsh, riga 2525
Durante l'installazione, appAutoPatchFolder viene creata con chmod 777. Ciò consente a qualsiasi utente locale di scrivere, modificare o eliminare file nella directory.
File: App-Auto-Patch-via-Dialog.zsh, riga 4744
I frammenti di etichetta Installomator vengono analizzati usando eval senza sanificazione. In combinazione con la directory scrivibile da tutti, un attaccante può iniettare un frammento di etichetta malevolo che esegue comandi arbitrari come root.
1. App-Auto-Patch crea appAutoPatchFolder con chmod 777
2. Installomator scarica il PKG nella tmpDir scrivibile da tutti e verifica la firma
3. ~140 righe di bash vengono eseguite tra la verifica e l'installazione (FINESTRA DI GARA)
4. L'attaccante sostituisce il PKG verificato con un PKG malevolo
5. installer -pkg esegue il PKG dell'attaccante come root
chmod 777)pkgbuild)Terminale 1 (come utente non privilegiato):
python3 poc.py
Terminale 2 (come root, simulando il trigger MDM/amministratore):
sudo ./simulate-vulnerable-env.sh
La PoC monitora /var/tmp per le directory Installomator create con chmod 777, quindi corre per sostituire il PKG legittimo con uno malevolo contenente uno script postinstall che viene eseguito come root.
Vedere poc.py e simulate-vulnerable-env.sh per i dettagli completi.
chmod 777 a chmod 755, interrompendo la catena di attaccoQuesta prova di concetto è fornita esclusivamente a scopo educativo e per test di sicurezza autorizzati. Usala in modo responsabile e solo su sistemi di tua proprietà o per i quali hai ricevuto esplicita autorizzazione ai test.
| Metrica | Valore |
|---|
| Vettore di attacco | Locale |
| Complessità dell'attacco | Bassa |
| Privilegi richiesti | Bassi |
| Interazione dell'utente | Nessuna |
| Scope | Invariato |
| Riservatezza | Alta |
| Integrità | Alta |
| Disponibilità | Alta |
| Data | Evento |
|---|
| 2025-12-22 | Vulnerabilità scoperta |
| 2025-12-22 | PoC creata |
| 2025-12-22 | PR #202 inviata |
| 2025-12-22 | Issue #203 aperta |
| 2025-12-23 | Corretta in App-Auto-Patch 3.5.0 |
| 2026-02-20 | CVE-2025-70341 assegnato |