CVE-2026-53994
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk35th percentile - higher than 35% of all known CVEs
Summary
Heap buffer overflow in ProFTPD mod_sftp. An authenticated SFTP user can send a packet with length 0, causing an underflow and buffer overflow, leading to session crash or potentially further consequences.
Risk Assessment
Risk of remote denial of service (DoS) for the FTP server and potential heap corruption.
Recommendation
Update ProFTPD to a version containing the fix for mod_sftp.
Other vulnerabilities in ProFTPD
See all- CVE-2015-3306High
The mod_copy module in ProFTPD 1.3.5 allows remote attackers to read and write to arbitrary files via the site cpfr and site cpto commands.
- CVE-2026-42167High
A vulnerability in the mod_sql module of ProFTPD before 1.3.9a allows remote attackers to execute arbitrary code via a username, when USER requests are logged with expansions like %U and the SQL backend allows commands (e.g., COPY TO PROGRAM).
- CVE-2010-20103Critical
A malicious backdoor was embedded in the official ProFTPD 1.3.3c source tarball distributed between November 28 and December 2, 2010. The backdoor implements a hidden FTP command trigger that allows remote, unauthenticated attackers to execute arbitrary shell commands with root privileges.
- CVE-2026-63091Medium
ProFTPD before 1.3.9c and 1.3.10rc3 has a signed integer overflow in the mod_sftp SCP size-record parser. Authenticated low-privilege attackers can bypass ASLR by sending UINT64_MAX, causing a negative off_t value. Exploitation leads to reading beyond SSH channel data and writing overread process memory into the uploaded file, disclosing libc, libcrypto, and PIE pointers.
- CVE-2026-63090High
ProFTPD before versions 1.3.9c and 1.3.10rc3 contains a heap-based buffer overflow vulnerability in the mod_sftp module that allows authenticated low-privilege attackers to achieve arbitrary code execution by sending crafted SFTP packet fragments exceeding the 16 KB reassembly buffer in the fxp.c component. Attackers can supply oversized fragments to trigger an incorrectly conditioned reallocation, corrupt pool freelist metadata, overwrite the root_fs BSS global pointer to reference a fake filesystem struct, and redirect pr_fsio_stat() to system() via a crafted RENAME request.
- CVE-2026-35025High
A vulnerability in ProFTPD up to versions 1.3.9b and 1.3.10rc2 allows authenticated FTP users to bypass Directory ACL restrictions by prefixing paths with /proc/self/root in the RNFR command handler. Attackers can exploit unresolved symlink components in dir_canonical_path() to cause dir_check() to perform lexical path comparisons that match no configured Directory block, enabling rename operations on files in DenyAll-protected directories and subsequent retrieval.
- CVE-2026-44331High
In ProFTPD up to version 1.3.9a before commit 7666224, a SQL injection vulnerability exists in sqltab_fetch_clients_cb() in contrib/mod_wrap2_sql.c. When UseReverseDNS is enabled, an attacker can supply a crafted domain name that is passed unsanitized into SQL queries, allowing remote injection of arbitrary SQL commands.
Original NVD description (English source)
ProFTPD mod_sftp contains a heap-based buffer overflow reachable by an authenticated SFTP user. The fxp_packet_read() function accepts the attacker-supplied 32-bit big-endian SFTP packet length without a minimum sanity check. A value of 0 causes an unsigned subtraction elsewhere in the read path to underflow to approximately 4 GB. That oversized request reaches the core memory allocator, where the rounded size is computed in size_t but passed to new_block() as a 32-bit int; the low 32 bits of 0x100000000 are 0, so new_block() returns a small (~512-byte) block while the caller is told it received ~4 GB. The subsequent fill loop then streams attacker-controlled bytes past the end of the 544-byte allocation, producing an attacker-controlled heap buffer overflow. An authenticated user can crash the per-connection ProFTPD session child on demand with a single malformed SFTP packet (packet_len=0 followed by a body greater than approximately 544 bytes), producing reliable authenticated remote denial of service. Depending on heap layout and adjacent allocations, heap metadata corruption and further consequences beyond denial of service may be possible, though only denial of service is demonstrated by the supplied proof of concept.

