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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-87796 — حزمة إعادة إنتاج ونص PoC لـ CVE-2026-87796، وهو RCE عبر رفع ملفات عشوائية دون مصادقة في Multi Uploader for Gravity Forms <= 1.1.9، مع مختبر Docker loopback. | Kitploit
أدوات/GitHubGitHub/abraxas/cve-2026-87796
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالأوراق والأبحاثالتعلم والتعليمتطوير الحمولاتمختبرات وتدريب عملي
GitHubabraxas/cve-2026-87796

CVE-2026-87796

حزمة إعادة إنتاج ونص PoC لـ CVE-2026-87796، وهو RCE عبر رفع ملفات عشوائية دون مصادقة في Multi Uploader for Gravity Forms <= 1.1.9، مع مختبر Docker loopback.

منذ 4س 28دلم تتم المراجعة بعد
عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs — CVE-2026-87796

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  CVE-2026-87796

CVE-2026-87796

Multi Uploader for Gravity Forms 1.1.9 — sh1zen

إن إضافة Multi Uploader for Gravity Forms الخاصة بـ WordPress معرّضة لثغرة رفع ملفات عشوائية (Arbitrary File Upload) في جميع الإصدارات حتى الإصدار 1.1.9 ضمناً عبر الدالة move_file. ويعود ذلك إلى عدم كفاية التحقق من نوع الملف أثناء معالجة الرفع المُجزّأ (chunked upload). وهذا يجعل من الممكن للمهاجمين غير المصادق عليهم رفع ملفات عشوائية على خادم الموقع المتأثر، مما قد يجعل تنفيذ التعليمات البرمجية عن بُعد (remote code execution) ممكناً.

CVECVE-2026-87796 · CVE.org
CWECWE-434
CVSSحرج: 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
المنتجMulti Uploader for Gravity Forms
المتأثرجميع الإصدارات حتى 1.1.9 (ضمناً)
المُرقّعتصحيح المورّد — انظر المراجع
المصادقةلا شيء (انظر خريطة المصدر)
المختبر127.0.0.1 فقط · حزمة إفصاح للمورّد/العميل، وليست أداة فحص

الإشعار (من خريطة المصدر)

يذكر الإشعار الدالة move_file. وهي دالة PHP خاصة، وليست HTTP action=. أما HTTP action فهي gfmu-plupload-submit. والتمييز بين المُجزّأ وغير المُجزّأ هو REQUEST[chunks]>1. أسماء دوال PHP ليست admin-ajax action=.


المدخل

  • الطريقة: POST
  • المسار: /wp-admin/admin-ajax.php
  • الموجّه: wp_ajax_nopriv_gfmu-plupload-submit → GFMUHandlePluploader::plupload_ajax_submit. حقل nonce هو REQUEST[nonce] للإجراء gfmu-upload-nonce. لا تخترع ajax action مختلفة.
  • ملاحظات: CVE-2026-87796: الدالة المُجزّأة handleUpload (REQUEST chunks>1) تنسخ الملف المُجمّع باستخدام move_file قبل validateUploadedFile. أما غير المُجزّأة فتُتحقق أولاً. وبدون حقل، يكون enable_chunked مساوياً false و toBytes(ini 2M) < sizeLimit 10mb يُرجع 'try activate chunking' قبل أي كتابة. أما stub المختبر RGFormsModel::get_field فيُرجع حقل رفع متعدد بـ chunk_size=2mb بحيث يتم تخطي ذلك الفحص. أرسل currentFormID=1 و currentFieldID=1. اكتشف nonce من صفحة slug gfmu-lab-nonce. الشاهد GET /wp-content/uploads/gfmu-uploads-tmp/poc_witness.php يحتوي على POC_WITNESS_87796 (GIF89a + echo، وليس shell). طلبا POST مُجزّآن ثم GET.

سلسلة الاستدعاء

  • POST /wp-admin/admin-ajax.php action=gfmu-plupload-submit (nopriv, GFMUAddon.class.php:125)
  • GFMUHandlePluploader::plupload_ajax_submit nonce gfmu-upload-nonce (GFMUHandlePluploader.class.php:257-262)
  • GFMU_FileUploader::handleUpload chunks&gt;1 (GFMU_FileUploader.php:231-319)
  • move_file copy then unlink tmp (GFMU_FileUploader.php:319, 545-560)
  • validateUploadedFile only AFTER the file is already at $target (322) — unlike non-chunked which validates first (375)
  • GET /wp-content/uploads/gfmu-uploads-tmp/&lt;name&gt; for POC_WITNESS_87796

شروط المختبر المسبقة

  • WordPress مع gf-multi-uploader 1.1.9 مُفعّلة
  • stub المختبر GF mu-plugin بحيث يوجد GFForms ويُسجّل nopriv AJAX
  • صفحة عامة slug gfmu-lab-nonce مع GFMU_NONCE= للمعرّف uid 0
  • لا تمرّر currentFormID (لا توجد نماذج Gravity Forms حقيقية)

الشاهد

طلب HTTP GET للملف المرفوع يُرجع السلسلة الفريدة POC_WITNESS_87796. نتيجة JSON result=success بالإضافة إلى ذلك GET تعني النجاح. أما HTML القالب، أو admin-ajax 0، أو Server error. فشل nonce ليس هو المقصود.

ليس نجاحاً

  • 200 hello world HTML عام
  • admin-ajax 400 body 0
  • result error / Server error. nonce
  • امتداد غير صالح بدون ملف لا يزال يُرجع الشاهد عبر GET
  • reverse shell أو اتصال خارجي
  • رفع jpg/png مسموح به وليس هو مصب النوع العشوائي

التصحيح / المعالجة

افعل هذا أولاً: طبّق تصحيح المورّد الخاص بـ Multi Uploader for Gravity Forms. انظر المراجع.

تحقق بعد الترقية

  • أعد تشغيل CVE-2026-87796-Abraxas-Labs.py مقابل البناء المُرقّع: يجب ألا يظهر الشاهد المُعيّن.
  • أكّد إشعار المورّد / changeset في الشجرة المنشورة (انظر المراجع).
  • توقيع WAF هو تأخير، وليس تصحيحاً.

إذا لم تستطع التحديث فوراً

  • عطّل أو اعزل المكوّن المتأثر.
  • ابحث عن حالة الشاهد في بيئة الإنتاج (مستخدمون مميزون جدد، ملفات غير متوقعة، صفوف مُدخلة — كل ما تسميه خريطة هذا CVE).

إعادة الإنتاج (مختبر مُصرّح به)

استهدف فقط http://127.0.0.1:8088 (أو loopback الذي ربطته). لا توجّه هذا السكربت إلى الإنترنت.

root@kitploit:~
python3 CVE-2026-87796-Abraxas-Labs.py

النجاح هو الشاهد أعلاه في جسم الاستجابة. أما 200 HTML العام فليس هو المقصود.


صور المختبر

حزمة loopback المستخدمة لإعادة الإنتاج. صور رسمية ما لم يكن هناك Dockerfile في هذا المجلد يبني من المصدر.

  • lab/docker-compose.yml
  • lab/docker-compose.override.yml
  • lab/Dockerfile
root@kitploit:~
cd lab
docker compose up --force-recreate

اربط شجرة المنتج المتأثر بجانب Compose إذا كان ملف YAML يربط دليلاً محلياً (plugin zip / source tag من جدول الإصدارات). لا تنشر شيئاً باستثناء 127.0.0.1.


المراجع

  • CVE-2026-87796 · NVD

  • CVE-2026-87796 · CVE.org

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/GFMUAddon.class.php#L125

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMUHandlePluploader.class.php#L257

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L319

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L322

  • plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L560

  • www.wordfence.com/threat-intel/vulnerabilities/id/47337bc1-fa3d-470c-9524-859295261017?source=cve

  • github.com/advisories/GHSA-h7vp-g8q2-89c8

  • nvd.nist.gov/vuln/detail/CVE-2026-87796

  • دليل الإضافات: gf-multi-uploader

  • متصفح Trac: plugins.trac.wordpress.org/gf-multi-uploader

  • وسوم SVN: plugins.svn.wordpress.org/gf-multi-uploader

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


السجلات (منظمة)

root@kitploit:~
# CVE-2026-87796  (structured records)

- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-87796`
- CWE: CWE-434
- published: 2026-09-17T05:17:02.123

## NVD description

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

## MITRE description

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

## Affected

- sh1zen Multi Uploader for Gravity Forms 0 affected

## References (JSON sources only)

- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/GFMUAddon.class.php#L125
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMUHandlePluploader.class.php#L257
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L319
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L322
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L560
- https://www.wordfence.com/threat-intel/vulnerabilities/id/47337bc1-fa3d-470c-9524-859295261017?source=cve
- https://github.com/advisories/GHSA-h7vp-g8q2-89c8
- https://nvd.nist.gov/vuln/detail/CVE-2026-87796

## GitHub advisory

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload...

The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.

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

هذه الحزمة مخصّصة للمورّد، ومالك الموقع، والمختبرات المُرخّصة. يتواصل السكربت مع 127.0.0.1. استخدامه ضد أنظمة لا تملكها غير مُصرّح به من Abraxas Labs. لا ضمان.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

تنزيل الأداة