AdonisJS路径遍历漏洞CVE-2026-21440
AdonisJS是一款基于Node.js构建的全栈MVC框架,专为快速开发可扩展、生产级的Web应用和API设计,是以TypeScript为首的web框架。
一、基本情况
AdonisJS 常被称为Node.js 界的 Laravel,AdonisJS 借鉴了 Laravel 的优雅设计理念、语法风格和开发体验,同时深度适配 Node.js 生态。

AdonisJS 覆盖 Web 开发全流程,从路由、控制器、模型、验证到会话、认证、ORM 等核心功能内置,开发者无需手动拼接大量中间件。
栋科技漏洞库关注到在 AdonisJS 的多部分文件处理中存在路径遍历漏洞,该漏洞现已被追踪为CVE-2026-21440,CVSS 4.0评分为9.2。
二、漏洞分析
CVE-2026-21440是在 AdonisJS 的多部分文件处理中存在路径遍历漏洞,可能允许远程攻击者将任意文件写入服务器文件系统任意位置。
AdonisJS通过BodyParser解析multipart/form-data,并将上传文件作为MultipartFile公开。
问题出在MultipartFile.move(location, options)的默认选项上。
如果未提供options.name,则默认为未经处理的客户端文件名,并使用path.join(location, name)构建目标路径。
这就允许遍历以绕过开发人员选择的默认或预期目录。
如果未提供options.overwrite,则默认为true,允许覆盖文件。
之前的文档中展示的示例引导开发人员进入了这一易受攻击的代码路径。
利用漏洞需要可访问的上传端点。
如果开发人员使用MultipartFile.move()方法时未提供第二个选项参数,或未明确对文件名进行过滤。
攻击者就可以提供一个包含遍历序列的特制文件名值,从而将文件写入预期上传目录之外的目标路径。
这可能导致在服务器上任意写入文件。
如果攻击者能够覆盖随后执行/加载的应用程序代码、启动脚本或配置文件,则可能发生远程代码执行(RCE)。
远程代码执行并非必然发生,它取决于文件系统权限、部署布局以及应用程序/运行时的行为。
该漏洞影响了 @adonisjs/bodyparser 版本 10.1.1 及之前的版本以及 11.x 的预发布版本(低于 11.0.0-next.6)。
该漏洞已在 @adonisjs/bodyparser 版本 10.1.2 和 11.0.0-next.6 中得到修复。
三、影响范围
@adonisjs/bodyparser <= 10.1.1
@adonisjs/bodyparser <= 11.0.0-next.6
四、修复建议
@adonisjs/bodyparser >= 11.0.0-next.6
@adonisjs/bodyparser >= 10.1.2
五、参考链接
管理员已设置登录后刷新可查看