<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Basic-Ftp (&lt;= 5.3.0) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/basic-ftp--5.3.0/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 09 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/basic-ftp--5.3.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>basic-ftp Client-Side Denial of Service via Malicious FTP Server</title><link>https://feed.craftedsignal.io/briefs/2024-01-basic-ftp-dos/</link><pubDate>Tue, 09 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-basic-ftp-dos/</guid><description>The basic-ftp library is vulnerable to a client-side denial of service. A malicious FTP server can send an unterminated multiline response during the initial FTP banner phase, before authentication, causing the client to buffer attacker-controlled data without limit.</description><content:encoded><![CDATA[<p>The <code>basic-ftp</code> library, versions 5.3.0 and earlier, is susceptible to a client-side denial-of-service (DoS) attack. A malicious or compromised FTP server can exploit this vulnerability by sending an unterminated multiline response during the initial FTP banner exchange. This occurs before authentication, allowing the attacker to control the data being buffered by the client. The vulnerable client continuously appends attacker-controlled data to <code>FtpContext._partialResponse</code> and repeatedly reparses the growing buffer without enforcing a maximum size limit. This can lead to excessive memory consumption and CPU usage on the client-side, ultimately resulting in process-level DoS, container OOM kills, worker restarts, queue backlogs, or service degradation in applications that rely on automated FTP connections. The vulnerability was reported in May 2026.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A victim application initiates an FTP connection to a server using the <code>basic-ftp</code> library.</li>
<li>The attacker, controlling the FTP server, sends an initial FTP banner that starts a multiline response (e.g., &ldquo;220-malicious banner starts&rdquo;).</li>
<li>The attacker intentionally omits the terminating line of the multiline response (e.g., &ldquo;220 ready&rdquo;).</li>
<li>The <code>basic-ftp</code> library&rsquo;s <code>_onControlSocketData</code> function receives the initial chunk of data.</li>
<li>The <code>_onControlSocketData</code> function concatenates the received chunk with the existing <code>_partialResponse</code>.</li>
<li>The <code>parseControlResponse</code> function parses the complete response, identifies it as an incomplete multiline response, and returns the entire accumulated data as <code>rest</code>.</li>
<li>The <code>_partialResponse</code> is updated with the <code>rest</code> value, storing the unterminated multiline data.</li>
<li>The process repeats indefinitely with each new chunk of data, causing the <code>_partialResponse</code> to grow without bound, leading to memory exhaustion and DoS.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability can result in significant disruptions to applications that utilize the <code>basic-ftp</code> library. Observed damage includes Node.js process memory exhaustion, container OOM kills, worker crashes or restart loops, event loop CPU pressure due to repeated parsing, stuck FTP jobs, queue backlogs in scheduled import/export systems, and degraded availability of services relying on automated FTP ingestion. This can affect a wide range of applications including SaaS applications, backend jobs, document ingestion pipelines, legacy integrations, and build/deployment pipelines.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Implement the provided Sigma rule <code>Detect Basic-ftp Unbounded Buffer DoS</code> to detect connections to FTP servers sending excessive data before authentication.</li>
<li>Upgrade to a patched version of <code>basic-ftp</code> that includes a maximum control response buffer size to address CVE-2026-44240.</li>
<li>Configure network monitoring to detect unusually large FTP banner responses based on the <code>network_connection</code> log source, which may indicate a malicious FTP server.</li>
<li>Implement application-level monitoring to track the memory usage of Node.js processes using <code>basic-ftp</code> to identify potential memory exhaustion issues.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>dos</category><category>ftp</category><category>denial-of-service</category><category>client-side</category></item></channel></rss>