攻击者已在针对软件开发者的攻击行动中开辟了新战场:Vite服务器。他们正在探测这些服务器,试图获取包括云凭证、基础设施配置和环境文件在内的敏感数据。
Vite最初是作为Vue(一个用于构建用户界面和网络应用程序的JavaScript框架)的构建工具而创建的,但如今已成为整个JavaScript生态系统中广泛使用的开发服务器和构建工具。
F5实验室报告称,在8月份,攻击者对其蜜罐网络上暴露的Vite服务器发起了超过32000次扫描尝试,分为807次攻击(或会话),相比之前三个月仅1732次尝试大幅增加。
“攻击者的扫描机群并非针对单一文件,而是系统性地遍历了大量的环境文件、AWS密钥、Azure令牌以及基础设施即代码(Infrastructure-as-Code)状态文件的词表清单,”F5威胁研究员亚当·梅特卡夫-皮尔斯在F5博客的一篇文章中写道。
F5指出,Vite通常绑定到本地主机(localhost),但开发者可以通过“–host”选项、服务器配置、容器端口映射或其他部署失误将其暴露在外。
此次攻击活动针对的是一个最近披露的漏洞,该漏洞允许未经身份验证的攻击者绕过Vite的文件访问限制,从主机系统中检索文件。该漏洞被追踪编号为CVE-2026-39364,允许攻击者绕过用于阻止访问敏感文件的“server.fs.deny”拒绝列表保护机制。
“当请求中附加特定参数,例如?raw、?import&raw或?import&url&inline时,服务器无法执行拒绝列表过滤,并会以HTTP 200响应的方式提供目标文件,”梅特卡夫-皮尔斯写道。
部分请求还使用了双重编码的路径遍历技术,F5表示这表明攻击者试图规避反向代理和Web应用防火墙(WAF)等安全控制措施。
该漏洞被评定为CVSS 8.2的严重级别,影响Vite 7.1.0至7.3.2之前的版本,以及Vite 8.0.5之前的Vite 8版本。
F5建议将Vite更新至已修补的版本,轮换可能已泄露的密钥,确保开发服务器不绑定到外部接口,并审核Docker、Kubernetes和云配置,以确保开发端口不会暴露在公共互联网上。
该博客文章还分享了攻击者在这些攻击中使用的精选目录和凭证词表清单。
F5还观察到攻击者将CVE-2026-39364与Vite早期的文件访问漏洞结合使用,包括CVE-2025-30208、CVE-2025-31125和CVE-2024-45811。同一扫描基础设施还探测了Next.js中间件绕过漏洞,这表明此类攻击活动并不局限于单一框架。
在博客文章中,该公司还指出,除CVE-2025-31125外,上述其他漏洞目前均未被列入美国网络安全和基础设施安全局(CISA)的已知被利用漏洞(KEV)目录中。
尽管F5观察到8月份针对Vite新披露漏洞的攻击大幅增加,但该漏洞并未跻身该公司蜜罐系统所记录的攻击次数前三名的CVE漏洞之列,前三名均是历史更为悠久的漏洞。其中,CVE-2017-9841——一个存在近十年之久、影响PHPUnit的严重远程代码执行漏洞——以4201次记录攻击位居榜首,其次是CVE-2018-14028,即未能验证WordPress插件是否为有效ZIP文件的漏洞(4102次),以及CVE-2018-20062,即NoneCms中的ThinkPHP远程代码执行漏洞(3482次)。
Q&A
Q1:什么是Vite?为什么攻击者要针对它?
A:Vite最初是Vue框架的构建工具,现已成为JavaScript生态系统中广泛使用的开发服务器和构建工具。由于开发者配置失误可能导致其暴露在公共网络上,攻击者借此探测并窃取云凭证、配置文件等敏感数据。
Q2:CVE-2026-39364漏洞具体是什么问题?
A:该漏洞允许未经身份验证的攻击者绕过Vite的“server.fs.deny”文件访问限制,通过附加特定请求参数从主机系统中读取本应受保护的敏感文件,严重程度评级为CVSS 8.2。
Q3:开发者应该如何防范此类攻击?
A:F5建议将Vite更新至已修补版本,轮换可能泄露的密钥,确保开发服务器不绑定外部接口,并审核Docker、Kubernetes及云配置,避免开发端口暴露在公共互联网上。
