
Apache Struts S2-072 (CVE-2026-73633) के लिए प्रमाण-अवधारणा शोषण (Proof-of-concept exploit), जो Struts JSON प्लगइन पर निर्मित JSON अनुरोध भेजकर CPU और मेमोरी की समाप्ति (exhaustion) का प्रदर्शन करता है।
सर्वर-साइड पर सक्षम JSON body प्लगइन का JSON भराव ("JSON भराव" Struts 2 में JSON प्लगइन द्वारा प्रदान की जाने वाली एक मुख्य कार्यक्षमता है, जिसे सरलता से एक स्वचालित डेटा रूपांतरण तंत्र के रूप में समझा जा सकता है।)
JSON भराव फ़ंक्शन का पार्सर JSON सरणियों को संसाधित करते समय अनुरोध बॉडी की सभी JSON सामग्री को एक बार में मेमोरी में पढ़ता है (आइटम-दर-आइटम लोड करते हुए)।
जिससे मेमोरी खपत (और CPU खपत) होती है।
मैंने wsl2 और tomcat का उपयोग करके Struts ऐप तैनात किया, एक लॉगिन पेज बनाया, जिसमें उपयोगकर्ता नाम admin और पासवर्ड 123456 है।
वास्तविक परीक्षण में, कंप्यूटर पर सबसे अधिक वृद्धि CPU उपयोग में देखी गई, उसके बाद मेमोरी में; और अनुरोध संसाधित होने के बाद CPU उपयोग मुक्त हो जाता है।
जैसे ही मेमोरी OOM होती है, GC पुनर्चक्रण ट्रिगर होता है; मेमोरी कभी पूरी तरह नहीं भरती और क्रैश होने की स्थिति नहीं बनती।
इससे केवल कंटेनर के सर्वर संसाधनों पर दबाव पड़ता है; मेमोरी उपयोग एक निश्चित मान (OOM ट्रिगर बिंदु) तक बढ़ने के बाद आगे नहीं बढ़ता, बल्कि GC द्वारा बार-बार पुनर्चक्रित, फिर उपयोग किया जाता है, और फिर पुनर्चक्रित होता है…………
CPU वृद्धि भराव मान (--size) के समानुपाती होती है।
git clone https://github.com/CuteeCat/CVE-2026-73633.git
cd CVE-2026-73633
cd docker
docker-compose build
docker-compose up -d
cd ..
python poc.py --url http://127.0.0.1:8080/login.action --local