Description
basic-ftp is an FTP client for Node.js. Prior to 6.2.3, FTPContext.send() throws when a command contains carriage return, line feed, or NUL characters, but calls made from response handlers execute synchronously inside the control socket's data event without an exception boundary. In Client.login(), an attacker-influenced password reaches the PASS command after a server sends a 331 response, and in a resumed download an attacker-influenced remote path reaches the RETR command after a 350 response to REST. The resulting exception does not reject client.access() or downloadTo(), escapes ordinary promise error handling, and terminates the Node.js process, while the validation guard still prevents command injection. This issue is fixed in version 6.2.3.
Published: 2026-11-12
Score: 5.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

No analysis available yet.

Remediation

No remediation available yet.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-r4jh-29pc-gfqr basic-ftp: Uncaught exception crashes the Node.js process when a password (or resumed-download path) contains CR/LF
History

Thu, 12 Nov 2026 21:45:00 +0000

Type Values Removed Values Added
Description basic-ftp is an FTP client for Node.js. Prior to 6.2.3, FTPContext.send() throws when a command contains carriage return, line feed, or NUL characters, but calls made from response handlers execute synchronously inside the control socket's data event without an exception boundary. In Client.login(), an attacker-influenced password reaches the PASS command after a server sends a 331 response, and in a resumed download an attacker-influenced remote path reaches the RETR command after a 350 response to REST. The resulting exception does not reject client.access() or downloadTo(), escapes ordinary promise error handling, and terminates the Node.js process, while the validation guard still prevents command injection. This issue is fixed in version 6.2.3.
Title basic-ftp: Uncaught exception crashes the Node.js process when a password (or resumed-download path) contains CR/LF
Weaknesses CWE-248
CWE-755
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-12T21:42:09.509Z

Reserved: 2026-11-10T21:12:01.227Z

Link: CVE-2026-126346

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-11-12T22:19:19.607

Modified: 2026-11-12T22:19:19.733

Link: CVE-2026-126346

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.

Weaknesses
  • CWE-248

    Uncaught Exception

  • CWE-755

    Improper Handling of Exceptional Conditions