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-30862 — Preuve de concept démontrant une XSS stockée dans le widget Table d'Appsmith menant à une élévation de privilèges verticale et à une prise de contrôle totale de l'administrateur via une attaque XSS-to-CSRF. | Kitploit
Outils/GitHubGitHub/drkim-dev/cve-2026-30862
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionRed Teaming
GitHubdrkim-dev/cve-2026-30862

CVE-2026-30862

Preuve de concept démontrant une XSS stockée dans le widget Table d'Appsmith menant à une élévation de privilèges verticale et à une prise de contrôle totale de l'administrateur via une attaque XSS-to-CSRF.

Voir le dépôt
21il y a 4 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

CVE-2026-30862 PoC - Élévation de privilèges dans Appsmith

Preuve de concept pour l'élévation de privilèges dans Appsmith via XSS stocké

Divulgation : Signalé à l'origine par moi via GHSA-5hw4-whxv-6794

⚠️ Usage autorisé uniquement pour des tests d'intrusion/recherche.

Informations sur la vulnérabilité

ChampValeur
ID CVECVE-2026-30862
Sévérité🔴 Critique
Score CVSS9.1
Vecteur CVSS[CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H]
CWECWE-79, CWE-269, CWE-352
Produit concernéAppsmith ≤ 1.95
Version corrigée1.96
Avis de sécuritéGHSA-5hw4-whxv-6794

CVE-2026-30862 : XSS stocké critique et élévation de privilèges dans Appsmith v1.95

Résumé

Une vulnérabilité XSS stocké critique existe dans le Table Widget (TableWidgetV2). La cause racine est l'absence d'assainissement HTML dans le pipeline de rendu des composants React, permettant l'interpolation d'attributs malveillants dans le DOM. En exploitant la fonctionnalité « Inviter des utilisateurs », un attaquant disposant d'un compte utilisateur standard ([email protected]) peut forcer un administrateur système à exécuter un appel API à privilèges élevés (/api/v1/admin/env), entraînant une prise de contrôle totale du compte administrateur.


Détails

1. Cause racine : absence de point de sortie d'assainissement La vulnérabilité réside dans le moteur de rendu du Table Widget

  • Fichier : app/client/src/widgets/TableWidgetV2/component/cellComponents/BasicCell.tsx

  • Le composant BasicCell ne parvient pas à assainir les données lorsque le columnType est défini sur URL ou Plain Text. Il renvoie des valeurs brutes fournies par l'utilisateur qui sont directement rendues comme enfants React, que le navigateur interprète comme du HTML exécutable.

Extrait de code vulnérable (lignes 132-143 et 172-173) :

root@kitploit:~
const contentToRender = useMemo(() => {
  switch (columnType) {
    case ColumnTypes.URL:
      // Interpolation directe de 'url' dans href sans assainissement
      return <a href={url} target="_blank">{value}</a>;
    default:
      return value; // Ligne 141 : valeur brute renvoyée
  }
}, [columnType, url, value]);

// Ligne 173 : point de sortie final où le contenu non assaini est injecté dans le DOM
<Content ref={contentRef}>{contentToRender}</Content>

2. Vecteur d'attaque : XSS vers CSRF via ingénierie sociale (fonctionnalité Inviter) Bien que le cookie SESSION soit protégé par HttpOnly, le XSRF-TOKEN est accessible via document.cookie. Comme Appsmith permet à tout utilisateur d'« inviter » d'autres personnes dans son application, un attaquant peut utiliser ce mécanisme comme vecteur de livraison pour exécuter une falsification de requête inter-privilèges (CPRF) dans la session active de l'administrateur.


PoC (Preuve de concept)

Étape 1 : Vérification de la vulnérabilité XSS

  1. Connectez-vous avec un compte utilisateur standard : [email protected].

  2. Créez une nouvelle application et ajoutez un Table Widget.

  3. Dans la propriété Table Data, injectez ce qui suit :

root@kitploit:~
[{ "id": 1, "payload": "" }]
  1. Observez l'exécution de alert(), confirmant le contournement de l'assainissement.

-- Étape 2 : Armement (prise de contrôle totale de l'administrateur)

  1. En tant que [email protected], mettez à jour les Table Data avec la charge utile suivante conçue pour modifier l'environnement administratif :
root@kitploit:~
[
  {
    "id": 1,
    "Status": "System Update Required",
    "payload": "alert('Admin Privileges Granted to [email protected]'));\">"
  }
]
  1. Utilisez la fonctionnalité « Partager » pour inviter l'administrateur système ([email protected]) dans l'application. Cela force l'administrateur à consulter le tableau malveillant lors de l'ouverture de l'invitation.

  2. Une fois que l'administrateur lance l'application, le script s'exécute en arrière-plan. Il lit le XSRF-TOKEN de l'administrateur et envoie une requête PUT pour ajouter [email protected] à la liste blanche administrative.

  3. Résultat : Reconnectez-vous en tant que [email protected]. Vous aurez désormais un accès complet aux paramètres d'administration et à toutes les configurations de l'instance.


Impact

  • Type de vulnérabilité : XSS stocké / élévation verticale de privilèges.

  • Sévérité : 9.1 (Critique) | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H

  • Risque : Compromission complète de l'instance Appsmith. Les attaquants obtiennent l'accès aux variables d'environnement sensibles, aux identifiants de base de données et la capacité de modifier toute application au sein de l'instance.


Remédiation recommandée

  1. Assainir les points de sortie : Enveloppez toutes les sorties dynamiques dans BasicCell.tsx et les composants associés avec DOMPurify.sanitize().

  2. CSP renforcé : Implémentez une politique connect-src stricte pour empêcher les appels API non autorisés vers les points de terminaison administratifs depuis les charges utiles XSS.


https://github.com/user-attachments/assets/206a10e4-1619-4887-a552-99761baa0a29

Télécharger l’outil