FTP Command Injection via CRLF in basic-ftp
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- Low · High · Low
- Fix status
- Partial Red Hat: 2 fixed, 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| patrickjuchli | basic-ftp | before 5.2.1 | 5.2.1 | Patch available | CNA |
| — | basic-ftp (npm) | 5.2.0 to before 5.2.1 | 5.2.1 | Patch available | GHSA-chqc-8p9q-pq6q |
- basic-ftp Vendorpatrickjuchli Affected before 5.2.1 Fixed in 5.2.1 Patch available CNA
- basic-ftp (npm) Vendor— Affected 5.2.0 to before 5.2.1 Fixed in 5.2.1 Patch available GHSA-chqc-8p9q-pq6q
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:patrickjuchli:basic-ftp:*:*:*:*:*:node.js:*:* | before 5.2.1 | Vulnerable | patrickjuchli |
- cpe:2.3:a:patrickjuchli:basic-ftp:*:*:*:*:*:node.js:*:* Versions before 5.2.1 Vulnerable ·patrickjuchli
Remediation
- Fix · CNA basic-ftp (patrickjuchli) Fixed in 5.2.1
- Fix · GHSA-chqc-8p9q-pq6q basic-ftp (npm) Fixed in 5.2.1 Advisory →
Red Hat 2 advisories
- RHSA-2026:13826 Released 2026-05-05 · Red Hat rating CriticalRed Hat Developer Hub 1.9.4 release.
- Red Hat Developer Hub 1.9 registry.redhat.io/rhdh/rhdh-hub-rhel9, registry.redhat.io/rhdh/rhdh-rhel9-operator
- RHSA-2026:9742 Released 2026-04-22 · Red Hat rating CriticalRed Hat Developer Hub 1.8.6 release.
- Red Hat Developer Hub 1.8 registry.redhat.io/rhdh/rhdh-hub-rhel9, registry.redhat.io/rhdh/rhdh-rhel9-operator
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Self-service automation portal 2 | Affected | No fix yet |
| Red Hat Developer Hub 1.8 | Fixed | RHSA-2026:9742 |
| Red Hat Developer Hub 1.9 | Fixed | RHSA-2026:13826 |
Not affected: 4 products
- Red Hat Developer Hub 1.8
- Red Hat Developer Hub 1.9
- Red Hat OpenShift AI (RHOAI)
- Red Hat OpenShift Container Platform 4
Timeline
- 2026-10-02 Threatist record created from CVE-2026-39983
- 2026-10-03 Alias added: GHSA-chqc-8p9q-pq6q
References
More patrickjuchli Basic-ftp vulnerabilities
- TI-2026-22075 Basic FTP has Path Traversal Vulnerability in its downloadToDir() method CVSS 3.1CRITICAL 9.8
- TI-2026-29925 basic-ftp vulnerable to denial of service via unbounded memory consumption in Client.list() CVSS 3.1HIGH 7.5
Sources
- CVE-2026-39983 · CVE Program
- CVE-2026-39983 · NVD
- FIRST EPSS
- GHSA-chqc-8p9q-pq6q · GitHub Advisory Database · CC BY 4.0
- CVE-2026-39983 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences