
Joomla Balbooa Forms (com_baforms) में post-submission PHP eval() में field shortcode injection के माध्यम से unauthenticated RCE के लिए CVE-2026-102425 का Python PoC। Check, exploit, और mass modes।
Python 3 PoC CVE-2026-102425 के लिए — balbooa.com Balbooa Forms Joomla एक्सटेंशन — वैकल्पिक PHP-after-submission क्रियाओं (eval()) में फ़ील्ड शॉर्टकोड इंजेक्शन के माध्यम से अनधिकृत रिमोट कोड निष्पादन।
| | |
|---|---|
| PoCbit | https://pocbit.org/pocs/cve-2026-102425 |
| CVE.org | https://www.cve.org/CVERecord?id=CVE-2026-102425 (PUBLISHED 2026-09-29) |
| NVD | https://nvd.nist.gov/vuln/detail/CVE-2026-102425 |
| CNA | Joomla! Project |
| Component | com_baforms |
| Affected | 1.0.0 – 2.4.3.3 |
| Fix | ≥ 2.4.3.4 |
| CWE | CWE-94 (Code Injection) |
| CVSS 4.0 | 9.5 Critical — CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
| Finders | Łukasz Rybak, Sergiy Tryzhychynskyi |
Balbooa Forms प्रशासकों को सार्वजनिक फ़ॉर्म सबमिशन के बाद चलने वाला PHP कोड परिभाषित करने देता है। उस PHP में फ़ॉर्म-फ़ील्ड शॉर्टकोड हो सकते हैं। eval() से पहले, कंपोनेंट प्रत्येक शॉर्टकोड को आगंतुक द्वारा सबमिट किए गए कच्चे मान से बदल देता है (कोई एस्केपिंग नहीं)।
CVE-2026-102425 तब शोषणीय है जब निम्नलिखित सभी शर्तें पूरी हों:
एक्सटेंशन संस्करण < 2.4.3.4।
एक सार्वजनिक फ़ॉर्म वैकल्पिक PHP-after-submission क्रिया का उपयोग करता है।
वह PHP डबल-कोटेड PHP स्ट्रिंग के अंदर हमलावर-नियंत्रित फ़ील्ड शॉर्टकोड को इंटरपोलेट करता है (क्लासिक ब्रेकआउट: ";echo …;//)।
CVSS AT:P (Attack Requirements: Present) का अर्थ है कि भेद्य कॉन्फ़िगरेशन मौजूद होना चाहिए — केवल कंपोनेंट इंस्टॉल करना पर्याप्त नहीं है।
यह CVE-2026-67364 नहीं है ([URL parameter = X] क्वेरी शॉर्टकोड, 2.4.3.2 में ठीक किया गया)। --include-67364 का उपयोग केवल तब करें जब आप जानबूझकर उस अलग समस्या का परीक्षण कर रहे हों।
एक ही कंपोनेंट, एक ही रिलीज़ ट्रेन: CVE-2026-102424, -101127, -101112, -101126 को भी पैच करें (देखें mySites.guru)।
| Mode | Behavior |
|------|----------|
| check | com_baforms, manifest version, affected_version (< 2.4.3.4), public_form_detected via loadAjaxForm / embed |
| check default hits | hits.txt only if affected and a public form HTML loads (exploit queue) |
| check --all-affected | Also list any host on vulnerable version (noisy FOFA triage) |
| check --aggressive | More paths, loadAjaxForm ID scan, more form probes |
| exploit | form.message submit (modern) + legacy tasks; field shortcode payloads (double-quote breakout) |
| exploit --include-67364 | Adds URL-parameter shortcode attempts (67364 class) |
| exploit --aggressive | Full scrape + loadAjaxForm discovery (slower) |
| --lab | Local mock: double-quoted eval + field injection |
| mass | --list + -j → JSONL, hits.txt, exploited.txt |
JSONL पंक्तियों में cve_state, cve_record, nvd, cvss_v4_vector, attack_requirements, pocbit_page शामिल हैं।
exploit पर, PoC पहले उसी फ़ील्ड शॉर्टकोड RCE के माध्यम से file_put_contents का प्रयास करता है ताकि सामान्य Joomla पथों (images/baforms/uploads/, images/, …) के अंतर्गत स्थानीय up.php (मल्टीपार्ट अपलोडर) गिराया जा सके, फिर सबमिट प्रतिक्रिया में POCBIT-102425-OK की पुष्टि करता है। यदि फ़ाइल वेब-दृश्यमान है, तो shell_url प्रिंट किया जाता है और exploited.txt में जोड़ा जाता है।
Python 3.9+
pip install requests urllib3 colorama
cd CVE-2026-102425
python poc.py # interactive
python poc.py hits.txt # mass exploit
python poc.py --check fofa_hosts.txt # mass scan → hits.txt
python poc.py -u https://site.tld
python poc.py --lab
python poc.py --help
# Full CLI / JSONL: python _engine.py --help
इंटरैक्टिव मास check (hits.txt, 12 थ्रेड्स, verbose):

| Step | Request |
|------|---------|
| Load form | GET index.php?option=com_baforms&task=form.loadAjaxForm&id=N |
| Submit | POST to form action with task=form.message, form-id, fields (see ba-form.js) |
| Avoid | format=json on front tasks on many J4 sites (invalid controller JSON) |
पुरानी साइटें view=form&form_id=N या form.submitForm का उपयोग कर सकती हैं।
Balbooa Forms को 2.4.3.4+ में अपग्रेड करें।
पैच होने तक फ़ील्ड या URL शॉर्टकोड एम्बेड करने वाली PHP-after-submission क्रियाएँ हटाएँ।
सार्वजनिक सबमिट पर reCAPTCHA सक्षम करें।
फ़ॉर्म, एडमिन उपयोगकर्ताओं, और images/baforms/uploads/ का ऑडिट करें।
केवल अधिकृत सुरक्षा परीक्षण।
CVE-2026-102425 PoC (PoCbit) — Joomla Balbooa Forms (com_baforms) 1.0.0–2.4.3.3: unauth RCE via field shortcode in PHP-after-submission eval() (CVSS 4.0 9.5 AT:P). check + exploit + mass. https://pocbit.org/pocs/cve-2026-102425