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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-23491 — CVE-2026-23491 - يحتوي InvoicePlane على ثغرة Path Traversal بدون مصادقة في Guest Controller | Kitploit
أدوات/GitHubGitHub/lukasz-rybak/cve-2026-23491
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراقالتعلم والتعليم
GitHublukasz-rybak/cve-2026-23491

CVE-2026-23491

CVE-2026-23491 - يحتوي InvoicePlane على ثغرة Path Traversal بدون مصادقة في Guest Controller

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-23491: ثغرة اجتياز المسار بدون مصادقة في وحدة تحكم Guest في InvoicePlane

نظرة عامة

الحقلالتفاصيل
معرّف CVECVE-2026-23491
درجة الخطورةحرجة
الاستشارة الأمنيةعرض الاستشارة
اكتُشفت بواسطةLukasz Rybak

المنتجات المتأثرة

  • InvoicePlane/InvoicePlane

التفاصيل

الملخص

توجد ثغرة اجتياز المسار في طريقة get_file الخاصة بوحدة تحكم Get في وحدة Guest ضمن InvoicePlane إصدار v1.6.3. تسمح الثغرة للمهاجمين غير المصادَق عليهم بقراءة ملفات عشوائية على الخادم من خلال التلاعب باسم ملف الإدخال. يؤدي هذا إلى كشف معلومات حساسة، بما في ذلك ملفات الإعدادات التي تحتوي على بيانات اعتماد قاعدة البيانات.

التفاصيل

تقع الثغرة في ملف application/modules/guest/controllers/Get.php، وتحديدًا داخل دالة get_file.

تستقبل الدالة معامل $filename مباشرةً من عنوان URL. وهي تنفذ urldecode($filename) لكنها لا تعقّم المُدخلات ضد تسلسلات اجتياز الدليل (مثل ../). يتم بعد ذلك دمج اسم الملف الناتج مع دليل أساسي ($this->targetPath، الذي يشير إلى uploads/customer_files/) وتمريره إلى دالة readfile().

مقتطف الكود القابل للاستغلال:

root@kitploit:~
public function get_file($filename): void
{
    $filename = urldecode($filename);
    if ( ! file_exists($this->targetPath . $filename)) {
        $ref = isset($_SERVER['HTTP_REFERER']) ? ', Referer:' . $_SERVER['HTTP_REFERER'] : '';
        $this->respond_message(404, 'upload_error_file_not_found', $this->targetPath . $filename . $ref);
    }

    // ... headers setting content type and disposition ...

    readfile($this->targetPath . $filename);
}

نظرًا لأن $filename يتحكم فيه المستخدم ولا يخضع لأي فحص، يمكن للمهاجم توفير سلسلة نصية مثل ../../ipconfig.php للخروج من الدليل المقصود.

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

يوضح أمر cURL التالي كيفية قراءة ملف ipconfig.php (الذي يقع على بُعد دليلين من الدليل الافتراضي uploads/customer_files/):

root@kitploit:~
curl http://localhost/index.php/guest/get/get_file/..%2f..%2fipconfig.php
صورة

المخرجات المتوقعة: يستجيب الخادم بمحتوى ملف ipconfig.php، والذي يتضمن متغيرات بيئة حساسة مثل DB_PASSWORD وENCRYPTION_KEY.

التأثير

يمكن للمهاجمين قراءة إعدادات التطبيق والكود المصدري، وربما ملفات أخرى على النظام قابلة للقراءة من قبل مستخدم خادم الويب.

المراجع

  • https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-88gq-mv54-v3fc
  • https://github.com/InvoicePlane/InvoicePlane/commit/add8bb798dde621f886823065ef1841986543c69

إخلاء المسؤولية

تم الإفصاح عن هذا CVE بشكل مسؤول وفقًا لممارسات الإفصاح المنسق عن الثغرات الأمنية. المعلومات الواردة هنا لأغراض تعليمية ودفاعية فقط.

تنزيل الأداة