CVE-2026-44240Node.js的FTP客户端库basic-ftp在5.3.1之前的版本中存在严重漏洞。当解析FTP控制通道多行响应时,由于未强制执行最大响应大小限制,恶意服务器可发送未终止的响应。这会导致客户端无限累积数据,持续消耗内存和CPU资源,致使应用陷入连接阻塞,进而引发进程级拒绝服务、容器OOM崩溃或服务降级。
该漏洞源于basic-ftp在处理FTP控制通道的多行响应时缺乏必要的边界检查。在初始FTP banner阶段(认证之前),恶意或被攻陷的FTP服务器可以向客户端发送一个未终止的多行响应。客户端代码在`FtpContext._partialResponse`中不断追加这些攻击者控制的数据,并反复解析累积的缓冲区。由于没有对控制响应的大小实施最大限制,这种操作会无休止地进行。随着数据量的持续增长,应用程序的内存和CPU使用率也会随之飙升,导致使用basic-ftp的应用程序在`connect()`调用中卡死。这种资源耗尽攻击最终会导致进程崩溃、容器被OOM Killer杀死、工作进程重启或队列积压,严重影响服务的可用性。攻击者无需用户交互或认证即可通过网络触发此漏洞。