CVE-2026-90817 — REDCap 调查透传 + 数据导入 RCE
针对 CVE-2026-90817(Securifera / Ryan Wincey)的 Python 3 检查器(以及可配置的漏洞利用钩子)。
| |
|---|
| 产品 | REDCap(Vanderbilt) |
| 受影响版本 | ≥ 13.3.0(直至分支补丁) |
| 修复版本 | 16.0.49 LTS、17.3.10 LTS、17.4.4 Standard+ |
| CVSS 3.1 | 9.8 严重 |
| 认证 | 无 — 完整利用链需要有效的公开调查哈希(s=) |
| CWE | CWE-73、CWE-94 |
概述
从公开调查上下文出发,攻击者可以滥用 __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 导出 → 目标列表
# 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
没有哈希时,检查仍可对 REDCap 进行指纹识别并标记版本窗口,但无法验证调查或运行透传探测。
截图(--flow 批量检查)

CLI 选项
输出(批量检查)
| 文件 | 内容 |
|---|
cve_2026_90817_results.jsonl | 每个目标的 JSON |
hits.txt | 候选目标(exploitable_candidate) |
常见 status 值(检查)
局限性
- 漏洞利用需要来自 Securifera/厂商的精确
__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
参考资料
法律声明
仅用于授权的安全测试。您有责任遵守适用的法律和项目规则。