
CVE-2025-70341: Escalada local de privilegios mediante TOCTOU en App-Auto-Patch
App-Auto-Patch v3.4.2 crea su directorio de trabajo con permisos de escritura mundial (chmod 777), lo que permite una condición de carrera TOCTOU local. Un atacante local no privilegiado puede explotar esto para intercambiar paquetes verificados por maliciosos antes de la instalación, logrando ejecución de código arbitrario como root. Además, un fragmento de etiqueta maliciosa de Installomator puede lograr ejecución de código arbitrario mediante eval de entrada no saneada durante el análisis de la etiqueta.
Puntuación: 7.8 (Alta)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Archivo: App-Auto-Patch-via-Dialog.zsh, línea 2525
Durante la instalación, appAutoPatchFolder se crea con chmod 777. Esto permite que cualquier usuario local escriba, modifique o elimine archivos en el directorio.
Archivo: App-Auto-Patch-via-Dialog.zsh, línea 4744
Los fragmentos de etiqueta de Installomator se analizan mediante eval sin saneamiento. Combinado con el directorio de escritura mundial, un atacante puede inyectar un fragmento de etiqueta malicioso que ejecute comandos arbitrarios como root.
1. App-Auto-Patch crea appAutoPatchFolder con chmod 777
2. Installomator descarga el PKG en tmpDir de escritura mundial, verifica la firma
3. ~140 líneas de bash se ejecutan entre la verificación y la instalación (VENTANA DE CARRERA)
4. El atacante intercambia el PKG verificado por un PKG malicioso
5. installer -pkg ejecuta el PKG del atacante como root
chmod 777 en tmpDir)pkgbuild)Terminal 1 (como usuario no privilegiado):
python3 poc.py
Terminal 2 (como root, simulando un disparador de MDM/admin):
sudo ./simulate-vulnerable-env.sh
El PoC monitorea /var/tmp en busca de directorios de Installomator creados con chmod 777, luego compite para intercambiar el PKG legítimo por uno malicioso que contiene un script postinstall que se ejecuta como root.
Consulte poc.py y simulate-vulnerable-env.sh para obtener más detalles.
chmod 777 a chmod 755, rompiendo la cadena de ataqueEsta prueba de concepto se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas. Úsela de manera responsable y solo en sistemas que posea o para los que tenga permiso explícito para probar.
| Métrica | Valor |
|---|
| Vector de ataque | Local |
| Complejidad de ataque | Baja |
| Privilegios requeridos | Bajos |
| Interacción del usuario | Ninguna |
| Alcance | Sin cambios |
| Confidencialidad | Alta |
| Integridad | Alta |
| Disponibilidad | Alta |
| Fecha | Evento |
|---|
| 2025-12-22 | Vulnerabilidad descubierta |
| 2025-12-22 | PoC creado |
| 2025-12-22 | PR #202 enviado |
| 2025-12-22 | Reporte de problema #203 |
| 2025-12-23 | Corregido en App-Auto-Patch 3.5.0 |
| 2026-02-20 | Asignado CVE-2025-70341 |