找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

622

积分

0

好友

80

主题
发表于 7 小时前 | 查看: 1| 回复: 0

AdonisJS 框架在处理用户上传的多部分文件时,错误地信任了客户端提供的文件名,从而引入了一个高危的路径遍历漏洞。攻击者利用此漏洞可以覆盖服务器上的任意文件,甚至实现远程代码执行。

AdonisJS CVE-2026-21440 路径遍历与任意文件写入漏洞原理示意图

当开发者使用 MultipartFile.move() 方法将上传的文件移动到指定位置时,如果未对用户输入的文件名进行严格的过滤与校验,攻击者可以构造包含目录遍历序列的文件名,例如:

../../../../app/config/startup.js

这会导致文件被写入预期上传目录之外的任意位置,完全绕过了应用的安全边界。这个漏洞对公开的文件上传端点构成了严重威胁,具体风险包括:

  • 📂 任意文件写入:可以在服务器进程权限允许的任何位置创建或写入文件。
  • 🧨 覆盖关键文件:能够覆盖应用程序源代码、配置文件或系统文件。
  • 🖥️ 远程代码执行:通过写入Webshell或修改应用启动脚本,最终获得在服务器上执行任意代码的能力。
  • 🌐 易于利用:此漏洞无需身份验证即可被远程触发。

受影响版本

经确认,以下版本的 @adonisjs/bodyparser 组件存在此安全缺陷:

  • @adonisjs/bodyparser ≤ 10.1.1 的所有稳定版本。
  • 11.x 系列中 11.0.0-next.6 之前的所有预发布版本。

🔐 修复方案

最根本的解决方案是立即升级到已修复此漏洞的版本。请根据你的项目情况,尽快更新依赖。

🧯 临时缓解措施

如果暂时无法进行版本升级,可以采取以下措施来降低风险:

  • 🧼 严格清理文件名:在处理前,对用户提交的文件名进行校验,拒绝包含 ../、绝对路径或空字节等危险字符的文件名。
  • 🧩 使用安全配置:确保调用 MultipartFile.move() 方法时,启用了相关的安全选项(如果框架提供)。
  • 🔒 实施访问控制:为文件上传功能添加强制的身份认证与授权检查。
  • 📁 限制文件系统权限:运行应用程序的进程应仅拥有必要目录的最小写入权限。
  • 🧱 部署防护措施:考虑使用Web应用防火墙来检测和拦截常见的路径遍历攻击payload。

CVE-2026-21440 PoC利用脚本运行结果截图

对于所有使用AdonisJS进行后端开发的团队来说,及时评估自身应用是否受影响并采取行动至关重要。这类文件上传相关的安全问题在Web开发中屡见不鲜,开发者应时刻保持对用户输入的不信任原则。如果你想了解更多关于Node.js安全或其他Web开发中的最佳实践,欢迎到云栈社区与大家交流探讨。




上一篇:Java业务异常设计:为何必须继承RuntimeException而非Exception
下一篇:特斯拉AI5芯片技术解析:Dojo 3超算项目重启与战略影响
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 17:29 , Processed in 0.243341 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表