basic-ftp is an FTP client for Node.js. Prior to 5.2.1, basic-ftp allows FTP command injection via CRLF sequences (\r\n) in file path parameters passed to high-level path APIs such as cd(), remove(), rename(), uploadFrom(), downloadTo(), list(), and removeDir(). The library's protectWhitespace() helper only handles leading spaces and returns other paths unchanged, while FtpContext.send() writes the resulting command string directly to the control socket with \r\n appended. This lets attacker-controlled path strings split one intended FTP command into multiple commands. This vulnerability is fixed in 5.2.1.
{
"binaries": [
{
"binary_name": "node-agent-base",
"binary_version": "7.1.0~0~2023071921-5"
},
{
"binary_name": "node-args",
"binary_version": "5.0.3~0~2023071921-5"
},
{
"binary_name": "node-basic-ftp",
"binary_version": "5.0.3~0~2023071921-5"
},
{
"binary_name": "node-data-uri-to-buffer",
"binary_version": "5.0.1~0~2023071921-5"
},
{
"binary_name": "node-degenerator",
"binary_version": "5.0.1~0~2023071921-5"
},
{
"binary_name": "node-get-uri",
"binary_version": "6.0.1~0~2023071921-5"
},
{
"binary_name": "node-http-proxy-agent",
"binary_version": "7.0.0~0~2023071921-5"
},
{
"binary_name": "node-https-proxy-agent",
"binary_version": "7.0.1~0~2023071921-5"
},
{
"binary_name": "node-pac-proxy-agent",
"binary_version": "7.0.0~0~2023071921-5"
},
{
"binary_name": "node-pac-resolver",
"binary_version": "7.0.0~0~2023071921-5"
},
{
"binary_name": "node-proxy",
"binary_version": "2.1.1~0~2023071921-5"
},
{
"binary_name": "node-proxy-agent",
"binary_version": "6.3.0~0~2023071921-5"
},
{
"binary_name": "node-socks-proxy-agent",
"binary_version": "8.0.1~0~2023071921-5"
}
]
}
{
"binaries": [
{
"binary_name": "node-agent-base",
"binary_version": "7.1.4~0~2025070717-2"
},
{
"binary_name": "node-args",
"binary_version": "5.0.3~0~2025070717-2"
},
{
"binary_name": "node-basic-ftp",
"binary_version": "5.0.5~0~2025070717-2"
},
{
"binary_name": "node-data-uri-to-buffer",
"binary_version": "6.0.2~0~2025070717-2"
},
{
"binary_name": "node-degenerator",
"binary_version": "5.0.1~0~2025070717-2"
},
{
"binary_name": "node-get-uri",
"binary_version": "6.0.5~0~2025070717-2"
},
{
"binary_name": "node-http-proxy-agent",
"binary_version": "7.0.2~0~2025070717-2"
},
{
"binary_name": "node-https-proxy-agent",
"binary_version": "7.0.6~0~2025070717-2"
},
{
"binary_name": "node-pac-proxy-agent",
"binary_version": "7.2.0~0~2025070717-2"
},
{
"binary_name": "node-pac-resolver",
"binary_version": "7.0.1~0~2025070717-2"
},
{
"binary_name": "node-proxy",
"binary_version": "2.2.0~0~2025070717-2"
},
{
"binary_name": "node-proxy-agent",
"binary_version": "6.5.0~0~2025070717-2"
},
{
"binary_name": "node-socks-proxy-agent",
"binary_version": "8.0.5~0~2025070717-2"
}
]
}
{
"binaries": [
{
"binary_name": "node-agent-base",
"binary_version": "7.1.4~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-args",
"binary_version": "5.0.3~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-basic-ftp",
"binary_version": "5.3.1~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-data-uri-to-buffer",
"binary_version": "6.0.2~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-degenerator",
"binary_version": "5.0.1~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-get-uri",
"binary_version": "6.0.5~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-http-proxy-agent",
"binary_version": "7.0.2~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-https-proxy-agent",
"binary_version": "7.0.6~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-pac-proxy-agent",
"binary_version": "7.2.0~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-pac-resolver",
"binary_version": "7.0.1~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-proxy",
"binary_version": "2.2.0~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-proxy-agent",
"binary_version": "6.5.0~0~2025070717+~cs15.3.8-3"
},
{
"binary_name": "node-socks-proxy-agent",
"binary_version": "8.0.5~0~2025070717+~cs15.3.8-3"
}
]
}
{
"binaries": [
{
"binary_name": "node-agent-base",
"binary_version": "7.1.4~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-args",
"binary_version": "5.0.3~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-basic-ftp",
"binary_version": "5.2.0~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-data-uri-to-buffer",
"binary_version": "6.0.2~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-degenerator",
"binary_version": "5.0.1~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-get-uri",
"binary_version": "6.0.5~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-http-proxy-agent",
"binary_version": "7.0.2~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-https-proxy-agent",
"binary_version": "7.0.6~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-pac-proxy-agent",
"binary_version": "7.2.0~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-pac-resolver",
"binary_version": "7.0.1~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-proxy",
"binary_version": "2.2.0~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-proxy-agent",
"binary_version": "6.5.0~0~2025070717+~cs15.2.7-1build1"
},
{
"binary_name": "node-socks-proxy-agent",
"binary_version": "8.0.5~0~2025070717+~cs15.2.7-1build1"
}
]
}