CVE-2026-90817 — REDCap Survey Passthru + Data Import RCE
Python 3 चेकर (और कॉन्फ़िगर करने योग्य exploit हुक) CVE-2026-90817 (Securifera / Ryan Wincey) के लिए।
| |
|---|
| उत्पाद | REDCap (Vanderbilt) |
| प्रभावित | ≥ 13.3.0 (ब्रांच पैच तक) |
| ठीक किया गया | 16.0.49 LTS, 17.3.10 LTS, 17.4.4 Standard+ |
| CVSS 3.1 | 9.8 Critical |
| प्रमाणीकरण | कोई नहीं — पूरी चेन के लिए वैध सार्वजनिक सर्वे हैश (s=) आवश्यक |
| CWE | CWE-73, CWE-94 |
सारांश
एक सार्वजनिक सर्वे संदर्भ से, हमलावर अनपेक्षित कंट्रोलर (जैसे Data Import) तक पहुँचने के लिए __passthru (सर्वे पासथ्रू) रूटिंग का दुरुपयोग कर सकते हैं, फिर असुरक्षित फ़ाइल-पथ / स्ट्रीम हैंडलिंग को ट्रिगर करके RCE कर सकते हैं।
Securifera ने अभी तक पूरी HTTP चेन प्रकाशित नहीं की है (रिपॉज़िटरी प्रकाशन के समय GitHub / Exploit-DB पर कोई सार्वजनिक PoC नहीं)।
exploit_chain.example.json केवल प्लेसहोल्डर है (अनुमानित रूट/पैरामीटर)। यह RCE नहीं करेगा।
शोध ड्राई रन: --allow-placeholder-chain (अनुरोध भेजता है; विफलता की अपेक्षा करें)।
आवश्यकताएँ
- Python 3.9+
pip install -r requirements.txt
उपयोग
pip install -r requirements.txt
# Single target (survey hash required for survey + passthru tests)
python poc.py -u https://redcap.example.edu/redcap --hash Ab12Xy34Zq --mode check
# Shorthand: base|hash
python poc.py -u "https://redcap.example.edu/redcap|Ab12Xy34Zq" --mode check
# Mass check (one URL per line, optional |hash)
python poc.py --list targets.example.txt --mode check -j 20 -q
# Live stream: every host + test summary (recommended for long lists)
python poc.py --list targets.example.txt --mode check -j 20 -q --flow
# Exploit (after advisory → real exploit_chain.json)
cp exploit_chain.example.json exploit_chain.json # edit with real values
python poc.py -u https://redcap.example.edu/redcap --hash XXX --mode exploit -c id \
--chain exploit_chain.json
FOFA export → लक्ष्य सूची
# Place export as fofa_csv_7561.csv (or any fofa*.csv), then:
python fofa_to_list.py
# Writes list.txt (gitignored) and normalizes the CSV with a url column
python poc.py --list list.txt --mode check -j 20 -q --flow
लक्ष्य सूची प्रारूप
https://uni.edu/redcap|SurveyHash10
https://uni.edu/redcap?s=SurveyHash10
https://uni.edu/redcap
हैश के बिना, check अभी भी REDCap को फिंगरप्रिंट कर सकता है और संस्करण विंडो को फ़्लैग कर सकता है, लेकिन सर्वे को सत्यापित नहीं कर सकता या पासथ्रू प्रोब नहीं चला सकता।
स्क्रीनशॉट (--flow मास चेक)

CLI विकल्प
आउटपुट (मास चेक)
| फ़ाइल | सामग्री |
|---|
cve_2026_90817_results.jsonl | प्रति-लक्ष्य JSON |
hits.txt | उम्मीदवार (exploitable_candidate) |
सामान्य status मान (check)
सीमाएँ
- Exploit के लिए Securifera/vendor से सटीक
__passthru रूट और पैरामीटर नाम आवश्यक हैं; डिफ़ॉल्ट प्लेसहोल्डर हैं।
- कई इंस्टेंस संस्करण स्ट्रिंग छिपाते हैं;
vulnerable_version null हो सकता है।
- FOFA
title="REDCap" पंक्तियों में अक्सर सर्वे हैश नहीं होते — CVE पूर्वापेक्षाओं के लिए सार्वजनिक लिंक से s= आवश्यक है।
- केवल अधिकृत परीक्षण।
FOFA / खोज संकेत
title="REDCap"
body="redcap_version"
body="/surveys/?s="
रिपॉज़िटरी लेआउट
.
├── poc.py
├── fofa_to_list.py
├── exploit_chain.example.json
├── poc.png # example --flow terminal output
├── requirements.txt
├── targets.example.txt
├── README.md
├── LICENSE
└── .gitignore
संदर्भ
कानूनी
केवल अधिकृत सुरक्षा परीक्षण के लिए। लागू कानूनों और कार्यक्रम नियमों के अनुपालन की जिम्मेदारी आपकी है।