CVE-2026-39983

FTP Command Injection via CRLF in basic-ftp

Published Apr 9, 2026 CVSS 3.1 · 8.6 High EPSS 2.2% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-chqc-8p9q-pq6q basic-ftp has FTP Command Injection via CRLF
History
Type Values Removed Values Added
CPEs cpe:2.3:a:patrickjuchli:basic-ftp:*:*:*:*:*:node.js:*:*
Type Values Removed Values Added
First Time appeared Patrickjuchli
Patrickjuchli basic-ftp
Vendors & Products Patrickjuchli
Patrickjuchli basic-ftp
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title FTP Command Injection via CRLF in basic-ftp
Weaknesses CWE-93
References
Metrics cvssV3_1

{'score': 8.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 15, 2026, 1:01 AM
Reserved
Apr 8, 2026, 12:01 AM
Status
Modified
Published
Apr 9, 2026, 6:17 PM
Modified
Oct 26, 2026, 10:10 PM
Severity
Important
Public date
Apr 9, 2026, 5:05 PM