Skip to content
OpenAdvisories
Medium · 5.9 CVE-2026-126346 EUVD-2026-124724GHSA-r4jh-29pc-gfqr

basic-ftp: Uncaught exception crashes the Node.js process when a password (or resumed-download path) contains CR/LF

Published Nov 12, 2026 · Updated Nov 13, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
patrickjuchli basic-ftp < 6.2.3 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling code-server 4.145.2-r1 —
Wolfi rolling opensearch-dashboards-3-security-dashboards-plugin 3.9.0-r12 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm basic-ftp < 6.2.3 6.2.3 GHSA-r4jh-29pc-gfqr

References