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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-87902 — حزمة إثبات المفهوم والإفصاح عن CVE-2026-87902، وهو تضمين ملف محلي غير مُصادَق عليه في WordPress Core عبر locate_template()، مع مختبر loopback وإرشادات التصحيح. | Kitploit
أدوات/GitHubGitHub/abraxas/cve-2026-87902
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتأمن الويباختبار الاختراقمختبرات وتدريب عملي
GitHubabraxas/cve-2026-87902

CVE-2026-87902

حزمة إثبات المفهوم والإفصاح عن CVE-2026-87902، وهو تضمين ملف محلي غير مُصادَق عليه في WordPress Core عبر locate_template()، مع مختبر loopback وإرشادات التصحيح.

عرض المستودع
311منذ 22س 56دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs — CVE-2026-87902 — WordPress

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

CVE-2026-87902 — WordPress

WordPress — WordPress Core 7.1.1 — WordPress

WordPress Core عرضة لـ Local File Inclusion عبر دالة locate_template() في إصدارات متعددة حتى الإصدار 7.1.1 ضمناً.

CVECVE-2026-87902 · CVE.org
CWECWE-98
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
ProductWordPress Core
Affectedجميع الإصدارات حتى 7.1.1 (ضمناً)
Patched7.1.2 وما بعده
Authبدون مصادقة (انظر source map)
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 فقط · حزمة إفصاح للمورّد/العميل، وليست ماسحاً ضوئياً

Advisory (من source map)

wp-includes/template.php get_page_template + locate_template على 7.1.1. التصحيح 7.1.2 _wp_is_template_path_allowed و validate_file على pagename بعد فك الترميز.


Entry

  • Method: GET
  • Path: /?page_id={id}&pagename=templates%252F%252e%252e%252F%252e%252e%252F%252e%252e%252Fuploads%252Fghsa7hp8-witness
  • Router: استعلام صفحة في الواجهة الأمامية بدون مصادقة. تبني get_page_template() الملف page-{$pagename}.php من pagename بعد فك ترميز URL. تدمج locate_template() النتيجة على دليل القالب دون حبس (jail).
  • Notes: CVE-2026-87902 CWE-98 WordPress <= 7.1.1 LFI بدون مصادقة. Witness: GHSA7HP8-WITNESS و wp_version=7.1.1 في استجابة الصفحة. ليس reverse shell. وليس pearcmd.

Call chain

  • GET /?page_id=&lt;published page&gt;&pagename=&lt;double-encoded templates/../../../uploads/ghsa7hp8-witness&gt;
  • WP_Query parse_query is_page from page_id; get_posts replaces WHERE with ID=page_id
  • get_page_template urldecode pagename then page-{$pagename}.php
  • locate_template file_exists(stylesheet_path + '/' + template_name) no jail
  • template-loader realpath + include

Lab preconditions

  • WordPress 7.1.1 (أو أي فرع متأثر قبل backports الإصدار 7.1.2)
  • قالب classic مع دليل من المستوى الأعلى باسم page-* (page-templates)
  • هدف .php محلي قابل للقراءة (lab: wp-content/uploads/ghsa7hp8-witness.php)

Witness

جسم استجابة 200 بدون مصادقة يحتوي على GHSA7HP8-WITNESS و wp_version=7.1.1. طلب التحكم GET /?page_id=N لا يحتوي عليه.

Not success

  • witness فقط عند طلب GET مباشر لملف PHP المرفوع (wp_version=none)
  • reverse shell
  • أداة pearcmd.php

Patch / remediation

افعل هذا أولاً: حدّث WordPress Core إلى 7.1.2 أو أحدث.

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

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

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

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

Reproduction (مختبر مصرّح به)

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

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

النجاح هو witness المذكور أعلاه في جسم الاستجابة. استجابة HTML عامة بحالة 200 ليست هي.


Lab images

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

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

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


References

  • CVE-2026-87902 · NVD

  • CVE-2026-87902 · CVE.org

  • github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp

  • www.wordfence.com/threat-intel/vulnerabilities/wordpress-core/wordpress-core-711-unauthenticated-local-file-inclusion-via-locate-template-path-traversal

  • www.cve.org/CVERecord?id=CVE-2026-87902

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


Records (structured)

root@kitploit:~
# CVE-2026-87902 / GHSA-7hp8-65ch-5whp

CWE: CWE-98
CVSS: High 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H (Wordfence). GitHub advisory: Critical.

## Description

An unauthenticated attacker can make `get_page_template()` page-template resolution include a chosen readable local `.php` file outside the active theme directories. `locate_template()` in WordPress <= 7.1.1 concatenates the caller-supplied template name onto the theme path and does not verify the result stays inside the theme. The core-reachable vector is the url-decoded `pagename` query variable. WordPress 7.1.2 adds `_wp_is_template_path_allowed()`.

## Product

WordPress 7.1.1 (fixed in 7.1.2, backported through 4.7.37). Lab oracle is LFI of a witness PHP file, not RCE.

License

هذه الحزمة الإفصاحية مرخّصة بموجب GNU Affero General Public License v3.0. انظر LICENSE.


Disclaimer

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

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

تنزيل الأداة