CVE-2026-126346

Source
https://cve.org/CVERecord?id=CVE-2026-126346
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-126346.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-126346
Aliases
Downstream
CGA (8)
CLSA (1)
Published
2026-11-12T21:42:09Z
Modified
2026-11-13T10:46:42Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
basic-ftp: Uncaught exception crashes the Node.js process when a password (or resumed-download path) contains CR/LF
Details

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.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-248",
        "CWE-755"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/126xxx/CVE-2026-126346.json"
}
References

Affected packages

Git / github.com/patrickjuchli/basic-ftp

Affected ranges

Type
GIT
Repo
https://github.com/patrickjuchli/basic-ftp
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "extracted_events": [
        {
            "range": [
                {
                    "introduced": "0"
                },
                {
                    "fixed": "6.2.3"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StringRangeExpression"
        },
        {
            "range": [
                {
                    "fixed": "0495b906bdf891e68806721b07b333dba65ec88e"
                }
            ],
            "source": "REFERENCES_COMMIT"
        },
        {
            "original_tag": "v6.2.3",
            "range": [
                {
                    "fixed": "c6d277c560eaefab377bc98393da9093faf94a8f"
                }
            ],
            "source": "REFERENCES_TAG"
        }
    ]
}

Affected versions

1.*
1.0.6
4.*
4.6.6
v1.*
v1.0.2
v1.0.3
v1.0.4
v1.0.5
v1.0.7
v1.0.8
v1.0.9
v1.1.0
v1.1.1
v1.2.0
v2.*
v2.0.0
v2.1.0
v2.10.0
v2.12.0
v2.12.1
v2.12.2
v2.12.3
v2.13.0
v2.13.1
v2.13.2
v2.14.0
v2.14.1
v2.14.2
v2.14.3
v2.14.4
v2.15.0
v2.16.0
v2.16.1
v2.17.0
v2.17.1
v2.2.0
v2.2.1
v2.3.0
v2.3.1
v2.3.2
v2.3.3
v2.4.0
v2.4.1
v2.4.2
v2.5.0
v2.5.1
v2.5.2
v2.6.0
v2.6.1
v2.6.2
v2.7.0
v2.7.1
v2.8.0
v2.8.1
v2.8.2
v2.8.3
v2.9.0
v2.9.1
v2.9.2
v3.*
v3.0.0
v3.1.0
v3.1.1
v3.2.0
v3.2.1
v3.2.2
v3.3.0
v3.3.1
v3.4.0
v3.4.1
v3.4.2
v3.4.3
v3.4.4
v3.5.0
v3.6.0
v3.7.0
v3.7.1
v3.8.0
v3.8.1
v3.8.2
v3.8.3
v4.*
v4.0.0
v4.0.1
v4.0.2
v4.1.0
v4.2.0
v4.2.1
v4.3.0
v4.3.1
v4.3.2
v4.4.0
v4.4.1
v4.5.0
v4.5.1
v4.5.2
v4.5.3
v4.5.4
v4.6.0
v4.6.1
v4.6.2
v4.6.3
v4.6.4
v4.6.5
v5.*
v5.0.0
v5.0.1
v5.0.2
v5.0.3
v5.0.4
v5.0.5
v5.1.0
v5.2.0
v5.2.1
v5.2.2
v5.3.0
v5.3.1
v6.*
v6.0.0
v6.0.1
v6.0.2
v6.1.0
v6.2.0
v6.2.1
v6.2.2

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-126346.json"