Skip to main content

basic-ftp CVE-2026-41324

| EUVDEUVD-2026-25390 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-04-24 GitHub_M GHSA-rp42-5vxx-qpwr
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Deploy malicious FTP server
  2. Delivery
    Victim application connects via basic-ftp Client
  3. Exploit
    Server responds to LIST command
  4. Install
    Stream unbounded directory listing data
  5. C2
    Client accumulates data in memory
  6. Execute
    Trigger out-of-memory condition
  7. Impact
    Application 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

basic-ftp < 5.3.0

Affected Packages

npm basic-ftp fix: 5.3.0

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

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat 5.9 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
Patch released
Apr 27, 2026 - 17:48 nvd
Patch available
Patch available
Apr 24, 2026 - 05:31 EUVD
CVE Published
Apr 24, 2026 - 03:28 nvd
HIGH 7.5

DescriptionCVE.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.

Executive ViewAI

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.0%
Top 88% exploitable
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

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

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2024-35286 CRITICAL POC
9.8 Oct 21

A vulnerability in NuPoint Messenger (NPM) of Mitel MiCollab through 9.8.0.33 allows an unauthenticated attacker to cond

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy