CVE-2026-21440 是一个影响 AdonisJS 框架的严重路径遍历漏洞,具体涉及其 multipart 文件上传处理。
⚠️ 如果被利用,攻击者可以在服务器上的任意位置写入文件,从而可能导致远程代码执行(RCE)。
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-21440 |
| 严重程度 | 🔴 严重 |
| CVSS v4.0 | 9.2 |
| CWE | CWE-22(路径遍历) |
| 攻击向量 | 网络 |
| 是否需要认证 | ❌ 否 |
AdonisJS 在 multipart 文件上传过程中不恰当地信任用户提供的文件名。
当开发者调用:
MultipartFile.move()
而未进行严格清理时,攻击者可以提交类似以下文件名:
../../../../app/config/startup.js
这使得攻击者能够逃逸预期的上传目录,并在服务器上的任意位置写入文件。
攻击者可能能够:
这使得该漏洞对于公开文件上传端点尤其危险。
@adonisjs/bodyparser ≤ 10.1.111.x 预发布版本 早于 11.0.0-next.6➡️ 尽快升级到已修补的版本。
如果暂时无法升级:
../、绝对路径、空字节)MultipartFile.move() 中使用安全选项安装依赖
pip install requests
保存脚本
复制完整的 Python 代码并保存为 cve_2026_21440_poc.py
查找上传端点
识别目标的 multipart 文件上传 URL(例如 /upload、/api/files)。使用浏览器或 curl 进行测试。
先运行安全测试
python3 cve_2026_21440_poc.py http://target:port/upload --safe --random
检查是否成功
如果存在漏洞,尝试 shell(可选)
python3 cve_2026_21440_poc.py http://target:port/upload --shell php --depth 5
验证 shell
访问上传的文件(例如 http://target/shell.php?cmd=whoami)以获取命令输出。
仅可在获得授权的目标上使用!从 --safe 开始。
╔══════════════════════════════════════════════════════════════╗
║ ⚠️ 免责声明 ⚠️ ║
╚══════════════════════════════════════════════════════════════╝
此 CVE-2026-21440 概念验证脚本仅供教育、研究和授权安全测试之用。
❌ 您可以在以下系统上使用它: • 您拥有的系统 • 您拥有明确书面许可进行测试的系统
❌ 您不得将其用于: • 对任何系统的未授权访问 • 任何形式的非法活动 • 恶意目的
作者和分发者对以下情况不承担任何责任: • 滥用此工具 • 对系统造成的损害 • 因未授权使用而产生的法律后果
未经许可对系统使用此脚本 在大多数国家/地区均违反法律(例如美国的 CFAA、 英国的《计算机滥用法》)。
使用此工具即表示您同意: • 对自己的行为承担全部责任 • 遵守所有适用法律
保持道德。负责任地测试。 向供应商报告漏洞。
✦ 入侵这个星球——但要合法 ✦