Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconDeploy malicious FTP server
-
DeliveryVictim application connects via basic-ftp Client
-
ExploitServer responds to LIST command
-
InstallStream unbounded directory listing data
-
C2Client accumulates data in memory
-
ExecuteTrigger out-of-memory condition
-
ImpactApplication crash (DoS)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the vulnerable Node.js application to connect to a malicious or compromised FTP server controlled by the attacker and invoke the Client.list() method to retrieve directory listings. The client application must be running basic-ftp versions prior to 5.3.0. No authentication is required at the FTP protocol level from the attacker's perspective, as they control the server endpoint. However, the victim application must initiate the connection, meaning the attacker cannot remotely trigger exploitation against arbitrary clients - they must position themselves as the FTP server in the client's connection path. Applications most vulnerable are those accepting FTP server addresses from untrusted sources (user input, external configuration, service discovery mechanisms) or those connecting to shared/multi-tenant FTP infrastructure where server compromise is feasible. Applications connecting exclusively to hardened, internally managed FTP servers within trusted network boundaries face significantly reduced risk. The attack requires sustained network connectivity between client and malicious server for memory exhaustion to complete, typically measured in seconds to minutes depending on bandwidth and client memory allocation. |
| Impact | Real-world risk is moderate and context-dependent despite the CVSS 7.5 High rating. The CVSS vector (AV:N/AC:L/PR:N/UI:N) indicates network-accessible attacks with no authentication required, but this is misleading in practice - the client application must actively connect to a malicious FTP server for exploitation to occur. The attack requires server-side control, meaning threat actors must either operate rogue FTP servers or compromise legitimate ones. EPSS data not provided, and no CISA KEV listing indicates this is not observed in widespread exploitation. The impact is limited to availability (A:H) with no confidentiality or integrity effects, making it unsuitable for data theft or lateral movement. Primary risk scenarios include: (1) applications that connect to user-supplied or dynamically discovered FTP servers without vetting, (2) automated backup/monitoring tools polling untrusted FTP endpoints, (3) supply chain attacks where legitimate FTP servers are compromised to target specific client deployments. For applications connecting only to known, trusted FTP servers within administrative control, risk is substantially lower than CVSS suggests. The straightforward fix (upgrade to 5.3.0) and absence of complex exploitation barriers mean remediation should be prioritized for any deployment processing untrusted FTP sources. |
| Exploit ScenarioDerived | An attacker sets up a malicious FTP server or compromises an existing one used by the target organization. When the victim Node.js application connects and calls Client.list() to enumerate directory contents, the malicious server begins streaming an infinite or multi-gigabyte directory listing response. The basic-ftp client accumulates this data in memory without bounds checking, rapidly consuming available heap space until Node.js triggers out-of-memory errors and the process crashes. For automated systems performing scheduled FTP synchronization or monitoring, this creates persistent denial of service as each connection attempt results in resource exhaustion and restart cycles. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 24, 2026
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.
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.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
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.
Know when Node.js gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
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.
Blast Radius
ecosystem impact- 2 npm packages depend on basic-ftp (1 direct, 1 indirect)
Ecosystem-wide dependent count for version 5.3.0.
Executive ViewAI
CVE-2026-41324 affects basic-ftp for Node.js, enabling remote denial of service attacks when applications connect to FTP servers. An attacker controlling or compromising any FTP server can crash client applications by sending oversized directory listing responses, impacting any organization using this library for FTP operations without vendor-provided remediation currently available.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict FTP client connections to whitelisted, trusted FTP servers only via network firewall rules; (2) Implement process-level memory limits and watchdog timers to detect and terminate runaway FTP client processes; (3) Disable or minimize use of Client.list() operations where alternative directory enumeration methods exist; (4) Monitor FTP traffic for unusually large responses that may indicate attack attempts.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
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
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
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
A vulnerability in NuPoint Messenger (NPM) of Mitel MiCollab through 9.8.0.33 allows an unauthenticated attacker to cond
EUVD-2026-25390
GHSA-rp42-5vxx-qpwr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB