Skip to main content
VulnerabilityPublished Updated

CVE-2026-39983: patrickjuchli basic-ftp · CRLF Injection

Affects patrickjuchli basic-ftpSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 8.6 High : upgrade to 5.2.1 soon.

Data as of 30 Oct 2026, 11:52 UTC

CVSS 3.1 base score
8.6High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
2.1% chance of exploitation in 30 days – higher than 82% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 5.2.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 9 Apr 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: evidence found.

    Public exploit code: GitHub proofs of concept

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), GitHub proofs of concept, the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.

What to do

Upgrade patrickjuchli basic-ftp to 5.2.1.

Affected software

ProductAffectedFixed in
patrickjuchlibasic-ftpAffected
  • <5.2.1
Fixed in
  • 5.2.1
npmbasic-ftppkg:npm/basic-ftpOther threatsAffected
  • <5.2.1
Fixed in
  • 5.2.1

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

A fix is available in basic-ftp version 5.2.1. Users should upgrade to version 5.2.1 or later to remediate this vulnerability. Refer to the Red Hat advisories for additional vendor-specific guidance and patches.

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.

References

Community reviews

Loading reviews…