UCloud-202604-001:NGINX ngx_http_dav_module 路径映射漏洞

漏洞详情

NGINX Open Source 和 NGINX Plus 的 ngx_http_dav_module 模块在处理 WebDAV 的 COPY 或 MOVE 请求时,ngx_http_map_uri_to_path 函数对 Destination 头部路径的映射存在无符号整数下溢缺陷。

当服务器配置了前缀 location(非正则表达式)且同时使用 alias 指令、启用了 dav_methods COPY 或 dav_methods MOVE 时,攻击者可以通过构造特殊的 HTTP 请求,在 Destination 头部注入恶意路径数据。

该缺陷会触发堆缓冲区溢出,攻击者可以借此实现任意文件路径修改、任意文件写入、部署 Webshell,甚至远程代码执行(RCE);在无法成功利用写入时,也可能导致 NGINX worker 进程崩溃,造成拒绝服务。

影响范围

  • NGINX Open Source 0.5.13 <= 版本 <= 0.9.7

  • NGINX Open Source 1.0.0 <= 版本 < 1.28.3

  • NGINX Open Source 1.29.0 <= 版本 < 1.29.7

  • NGINX Plus R32 <= 版本 < R32 P5

  • NGINX Plus R33 所有版本

  • NGINX Plus R34 所有版本

  • NGINX Plus R35 <= 版本 < R35 P2

  • NGINX Plus R36 <= 版本 < R36 P3

修复方案

请尽快升级至官方已发布的修复版本:

  • NGINX Open Source 1.28.3 及以上

  • NGINX Open Source 1.29.7 及以上

  • NGINX Plus R32 P5 及以上

  • NGINX Plus R35 P2 及以上

  • NGINX Plus R36 P3 及以上

升级完成后,请重启 NGINX 服务以确保补丁生效。

临时缓解措施

在无法立即升级的情况下,建议采取以下防护措施:

  • 如果业务无需 WebDAV 功能,立即移除 dav_methods 指令或禁用 ngx_http_dav_module 模块。

  • 避免在同一 location 块中同时使用 alias 指令和 dav_methods COPY/MOVE 配置。

  • 可考虑将 alias 替换为 root 指令,或重构 URL 路径结构以规避漏洞触发条件。

  • 通过防火墙或安全组限制访问来源,仅允许可信 IP 访问 WebDAV 服务。

  • 加强对异常 WebDAV 请求、超长 Destination 头部及 NGINX worker 崩溃日志的监控。

参考链接

https://my.f5.com/manage/s/article/K000160382

https://nvd.nist.gov/vuln/detail/CVE-2026-27654