CVE-2026-41324basic-ftp是一个用于Node.js的FTP客户端库。在5.3.0版本之前,该库在处理远程FTP服务器返回的目录列表时存在安全缺陷。由于缺乏对数据大小的限制,恶意的FTP服务器可以向客户端发送极其庞大或永不结束的列表数据。当客户端调用`Client.list()`处理这些数据时,会导致内存无限制增长,最终引发内存耗尽或进程崩溃,从而造成拒绝服务攻击。
该漏洞源于 basic-ftp 库在解析 FTP 服务器返回的目录列表数据流时,未对数据总量进行有效的边界检查。当客户端应用调用 Client.list() 方法请求目录信息时,如果服务器端由攻击者控制,它可以构造恶意的响应流。该响应流包含巨大的数据块或持续不断的输出,导致客户端不断分配内存以缓冲接收到的数据。由于缺乏超时机制或最大内存限制机制,这种内存增长是无界的。随着内存消耗殆尽,Node.js 进程会被 OOM Killer 终止或变得极不稳定。攻击向量为网络(AV:N),无需认证(PR:N)且无需用户交互(UI:N),使得攻击者可以轻易利用此漏洞攻击任何连接到恶意 FTP 服务器的客户端。