Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Lifecycle Timeline
7Blast Radius
ecosystem impact- 2 npm packages depend on basic-ftp (1 direct, 1 indirect)
Ecosystem-wide dependent count for version 5.3.0.
DescriptionGitHub Advisory
basic-ftp is an FTP client for Node.js. Versions prior to 5.3.0 are vulnerable to denial of service through unbounded memory growth while processing directory listings from a remote FTP server. A malicious or compromised server can send an extremely large or never-ending listing response to Client.list(), causing the client process to consume memory until it becomes unstable or crashes. Version 5.3.0 fixes the issue.
AnalysisAI
Denial of service in basic-ftp for Node.js allows remote malicious FTP servers to crash client applications via unbounded memory consumption during directory listing operations. Attackers controlling or compromising an FTP server can send infinite or extremely large listing responses to Client.list() calls, exhausting client memory until process termination. Unauthenticated network attack with low complexity (CVSS:3.1 AV:N/AC:L/PR:N). No public exploit identified at time of analysis, though attack concept is straightforward for anyone operating a malicious FTP server.
Technical ContextAI
This vulnerability affects the basic-ftp library (versions prior to 5.3.0), a Node.js FTP client implementation. The root cause is improper resource management (CWE-400) during directory listing parsing. When the Client.list() method processes FTP LIST command responses, it lacks bounds checking or memory limits on the incoming data stream. In Node.js environments, unbounded string or buffer accumulation during parsing can quickly exhaust heap memory, especially when dealing with malicious servers that stream gigabytes of directory listing data or never send an end-of-transmission marker. The vulnerability resides in client-side FTP protocol handling code, where the expectation of well-behaved servers leads to unsafe memory allocation patterns.
RemediationAI
Upgrade basic-ftp to version 5.3.0 or later, which implements memory bounds checking during directory listing operations. Update package.json dependencies and run 'npm update basic-ftp' or equivalent package manager commands to install the patched version. Vendor advisory with technical details: https://github.com/patrickjuchli/basic-ftp/security/advisories/GHSA-rp42-5vxx-qpwr. If immediate upgrading is not feasible, implement these compensating controls: (1) restrict FTP connections to an allowlist of verified, trusted servers only - do not accept user-supplied FTP URLs or dynamically discovered endpoints; (2) deploy resource limits using Node.js --max-old-space-size flag to contain memory exhaustion impact, though this trades DoS stability for crash recovery; (3) implement application-level timeouts on Client.list() calls with aggressive thresholds (e.g., 30-60 seconds) to abort suspiciously long listing operations, noting this may break legitimate connections to servers with extremely large directories; (4) run FTP client operations in isolated worker processes or containers with memory cgroups limits to prevent single-process crashes from affecting entire applications. These workarounds reduce but do not eliminate risk and may cause operational false positives. Patching to 5.3.0 remains the definitive solution.
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat
The HTTP server in Node.js 0.10.x before 0.10.21 and 0.8.x before 0.8.26 allows remote attackers to cause a denial of se
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-25390
GHSA-rp42-5vxx-qpwr