CVE-2026-39983CWE-93

FTP Command Injection via CRLF in basic-ftp

High · published April 9, 2026

CVSS v3.1
8.6
EPSS
3%
Percentile
86.4
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
8.6 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L
CVSS v4.0
Not supplied
EPSS
0.02801 · 86.4th percentile
Weakness
CWE-93 · Improper Neutralization of CRLF Sequences ('CRLF Injection')
Published
2026-04-09T17:05Z
EPSS history
Timeline
  • 09 APR 17:05Z
    FTP Command Injection via CRLF in basic-ftp
    cvelistv5