CVE-2026-126345
Deferred Deferred - Pending Action

Prototype Pollution in basic-ftp Client

Vulnerability report for CVE-2026-126345, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-12

Last updated on: 2026-11-12

Assigner: GitHub, Inc.

Description

basic-ftp is an FTP client for Node.js. Prior to 6.2.4, the MLSD directory-listing parser in src/parseListMLSD.ts uses untrusted fact names from the FTP server as keys in the plain-object factHandlersByName dictionary without checking that the resolved property is an own handler. A fact named __proto__ therefore resolves to Object.prototype, bypasses the missing-handler guard, and is called as though it were a function, producing a TypeError. The error propagates through Client.list() and APIs that depend on it because it is not an FTPError. A malicious or compromised FTP server, or an on-path attacker on a plaintext FTP session, can make the affected operation reject, and the Node.js process terminates under the default behavior in Node.js 15 and later only if the application leaves that rejection unhandled. This issue is fixed in version 6.2.4.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-12
Last Modified
2026-11-12
Generated
2026-11-13
AI Q&A
2026-11-13
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
basic-ftp basic-ftp 6.2.4

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-248 An exception is thrown from a function, but it is not caught.
CWE-1321 The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects the basic-ftp library for Node.js. It involves a directory-listing parser that uses untrusted input from FTP servers as keys in an object without proper validation. Specifically, a fact named __proto__ can bypass security checks and trigger a TypeError, causing the Node.js process to terminate if the error is unhandled.

Detection Guidance

This vulnerability is specific to applications using the basic-ftp library before version 6.2.4. Detection involves checking if your application uses this library and verifying the version. Use commands like 'npm list basic-ftp' in Node.js projects to check the installed version.

Impact Analysis

If you use a vulnerable version of basic-ftp (before 6.2.4), a malicious or compromised FTP server could cause your Node.js application to crash by sending a specially crafted directory listing. This could lead to denial of service if the application does not handle errors properly.

Mitigation Strategies

Immediately update the basic-ftp library to version 6.2.4 or later. If updating is not possible, consider replacing the library with a maintained alternative. Ensure your application handles errors from FTP operations properly to avoid process termination.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-126345. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...