CVE-2026-63091
ProFTPD mod_sftp Signed Integer Overflow via SCP Size-Record Parser
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the mod_sftp module's SCP size-record parser that allows authenticated low-privilege attackers to bypass ASLR by sending a crafted file size value of UINT64_MAX, which results in a negative off_t value. Attackers can exploit the subsequent conversion to uint32_t, causing an approximately 4 GB requested read length and forcing the server to read beyond the end of the SSH channel data and write overread process memory into the uploaded file. In tested configurations, the disclosed data contains libc, libcrypto, and PIE pointers sufficient to derive their randomized base addresses, thereby bypassing ASLR and enabling reliable exploitation of memory corruption vulnerabilities in the same process.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.1
ProFTPD mod_sftp Signed Integer Overflow via SCP Size-Record Parser
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the mod_sftp module's SCP size-record parser that allows authenticated low-privilege attackers to bypass ASLR by sending a crafted file size value of UINT64_MAX, which results in a negative off_t value. Attackers can exploit the subsequent conversion to uint32_t, causing an approximately 4 GB requested read length and forcing the server to read beyond the end of the SSH channel data and write overread process memory into the uploaded file. In tested configurations, the disclosed data contains libc, libcrypto, and PIE pointers sufficient to derive their randomized base addresses, thereby bypassing ASLR and enabling reliable exploitation of memory corruption vulnerabilities in the same process.
- Record
CVE-2026-63091- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-190, CWE-126
- Updated
- 2026-11-02
EUVDEUVD-2026-45961
7.1
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the mod_sftp module's SCP size-record parser that allows authenticated low-privilege attackers to bypass ASLR by sending a crafted file size value of UINT64_MAX, which results in a negative off_t value. Attackers can exploit the subsequent conversion to uint32_t, causing an approximately 4 GB requested read length and forcing the server to read beyond the end of the SSH channel data and write overread process memory into the uploaded file. In tested configurations, the disclosed data contains libc, libcrypto, and PIE pointers sufficient to derive their randomized base addresses, thereby bypassing ASLR and enabling reliable exploitation of memory corruption vulnerabilities in the same process.
- Record
EUVD-2026-45961- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-gqm5-f386-9r92
7.1
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the...
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the mod_sftp module's SCP size-record parser that allows authenticated low-privilege attackers to bypass ASLR by sending a crafted file size value of UINT64_MAX, which results in a negative off_t value. Attackers can exploit the subsequent conversion to uint32_t, causing an approximately 4 GB requested read length and forcing the server to read beyond the end of the SSH channel data and write overread process memory into the uploaded file. In tested configurations, the disclosed data contains libc, libcrypto, and PIE pointers sufficient to derive their randomized base addresses, thereby bypassing ASLR and enabling reliable exploitation of memory corruption vulnerabilities in the same process.
- Record
GHSA-gqm5-f386-9r92- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-126
- Updated
- 2026-11-02
NVD
7.1
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the mod_sftp module's SCP size-record parser that allows authenticated low-privilege attackers to bypass ASLR by sending a crafted file size value of UINT64_MAX, which results in a negative off_t value. Attackers can exploit the subsequent conversion to uint32_t, causing an approximately 4 GB requested read length and forcing the server to read beyond the end of the SSH channel data and write overread process memory into the uploaded file. In tested configurations, the disclosed data contains libc, libcrypto, and PIE pointers sufficient to derive their randomized base addresses, thereby bypassing ASLR and enabling reliable exploitation of memory corruption vulnerabilities in the same process.
- Record
CVE-2026-63091- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-126, CWE-190
- Updated
- 2026-11-02
OSV
7.1
ProFTPD mod_sftp Signed Integer Overflow via SCP Size-Record Parser
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the mod_sftp module's SCP size-record parser that allows authenticated low-privilege attackers to bypass ASLR by sending a crafted file size value of UINT64_MAX, which results in a negative off_t value. Attackers can exploit the subsequent conversion to uint32_t, causing an approximately 4 GB requested read length and forcing the server to read beyond the end of the SSH channel data and write overread process memory into the uploaded file. In tested configurations, the disclosed data contains libc, libcrypto, and PIE pointers sufficient to derive their randomized base addresses, thereby bypassing ASLR and enabling reliable exploitation of memory corruption vulnerabilities in the same process.
- Record
CVE-2026-63091- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-126, CWE-190
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-63091
7.1
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the mod_sftp module's SCP size-record parser that allows authenticated low-privilege attackers to bypass ASLR by sending a crafted file size value of UINT64_MAX, which results in a negative off_t value. Attackers can exploit the subsequent conversion to uint32_t, causing an approximately 4 GB requested read length and forcing the server to read beyond the end of the SSH channel data and write overread process memory into the uploaded file. In tested configurations, the disclosed data contains libc, libcrypto, and PIE pointers sufficient to derive their randomized base addresses, thereby bypassing ASLR and enabling reliable exploitation of memory corruption vulnerabilities in the same process.
- Record
DEBIAN-CVE-2026-63091- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
OSVOESA-2026-3231
8.8
proftpd security update
ProFTPD is an enhanced FTP server with a focus toward simplicity, security, and ease of configuration. It features a very Apache-like configuration syntax, and a highly customizable server infrastructure, including support for multiple 'virtual' FTP servers, anonymous FTP, and permission-based directory visibility. This package defaults to the standalone behavior of ProFTPD, but all the needed scripts to have it run by systemd instead are included.
Security Fix(es):
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.(CVE-2026-53994)
ProFTPD before 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-63090)
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the mod_sftp module's SCP size-record parser that allows authenticated low-privilege attackers to bypass ASLR by sending a crafted file size value of UINT64_MAX, which results in a negative off_t value. Attackers can exploit the subsequent conversion to uint32_t, causing an approximately 4 GB requested read length and forcing the server to read beyond the end of the SSH channel data and write overread process memory into the uploaded file. In tested configurations, the disclosed data contains libc, libcrypto, and PIE pointers sufficient to derive their randomized base addresses, thereby bypassing ASLR and enabling reliable exploitation of memory corruption vulnerabilities in the same process.(CVE-2026-63091)
- Record
OESA-2026-3231- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-63091
7.1
ProFTPD before 1.3.9c and 1.3.10rc3 contains a signed integer overflow vulnerability in the mod_sftp module's SCP size-record parser that allows authenticated low-privilege attackers to bypass ASLR by sending a crafted file size value of UINT64_MAX, which results in a negative off_t value. Attackers can exploit the subsequent conversion to uint32_t, causing an approximately 4 GB requested read length and forcing the server to read beyond the end of the SSH channel data and write overread process memory into the uploaded file. In tested configurations, the disclosed data contains libc, libcrypto, and PIE pointers sufficient to derive their randomized base addresses, thereby bypassing ASLR and enabling reliable exploitation of memory corruption vulnerabilities in the same process.
- Record
UBUNTU-CVE-2026-63091- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
proftpd-dfsgDebian:12 |
All versions, plus listed versions 1.3.8+dfsg-41.3.8+dfsg-4+deb12u11.3.8+dfsg-4+deb12u21.3.8+dfsg-4+deb12u31.3.8+dfsg-4+deb12u4 Show 23 moreShow less1.3.8+dfsg-4+deb12u51.3.8+dfsg-51.3.8+dfsg-61.3.8+dfsg-71.3.8+dfsg-81.3.8.a+dfsg-11.3.8.b+dfsg-11.3.8.b+dfsg-21.3.8.b+dfsg-31.3.8.b+dfsg-41.3.8.c+dfsg-11.3.8.c+dfsg-21.3.8.c+dfsg-31.3.8.c+dfsg-41.3.9a~dfsg-11.3.9b~dfsg-11.3.9c~dfsg-11.3.9d~dfsg-11.3.9~dfsg-11.3.9~dfsg-21.3.9~dfsg-31.3.9~dfsg-41.3.9~dfsg-5 |
None known |
proftpd-dfsgDebian:13 |
before 1.3.8.c+dfsg-4+deb13u3, plus listed versions 1.3.8.c+dfsg-41.3.8.c+dfsg-4+deb13u11.3.8.c+dfsg-4+deb13u2 |
1.3.8.c+dfsg-4+deb13u3 |
proftpd-dfsgDebian:14 |
before 1.3.9c~dfsg-1, plus listed versions 1.3.8.c+dfsg-41.3.9a~dfsg-11.3.9b~dfsg-11.3.9~dfsg-11.3.9~dfsg-21.3.9~dfsg-31.3.9~dfsg-41.3.9~dfsg-5 |
1.3.9c~dfsg-1 |
proftpdopenEuler:20.03-LTS-SP4 From an advisory covering 3 CVEs |
before 1.3.8b-7.oe2003sp4 | 1.3.8b-7.oe2003sp4 |
proftpdopenEuler:22.03-LTS-SP4 From an advisory covering 3 CVEs |
before 1.3.9a-3.oe2203sp4 | 1.3.9a-3.oe2203sp4 |
proftpdopenEuler:24.03-LTS-SP1 From an advisory covering 3 CVEs |
before 1.3.9a-3.oe2403sp1 | 1.3.9a-3.oe2403sp1 |
proftpdopenEuler:24.03-LTS-SP3 From an advisory covering 3 CVEs |
before 1.3.9a-3.oe2403sp3 | 1.3.9a-3.oe2403sp3 |
proftpdopenEuler:24.03-LTS-SP4 From an advisory covering 3 CVEs |
before 1.3.9a-3.oe2403sp4 | 1.3.9a-3.oe2403sp4 |
proftpd-dfsgUbuntu:16.04:LTS |
All versions, plus listed versions 1.3.5-21.3.5a-11.3.5a-1build11.3.5a-1ubuntu0.1 |
None known |
proftpd-dfsgUbuntu:18.04:LTS |
All versions, plus listed versions 1.3.5d-11.3.5e-1build1 |
None known |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
proftpd-dfsgUbuntu:20.04:LTS |
All versions, plus listed versions 1.3.6-6build21.3.6c-11.3.6c-21.3.6c-2ubuntu0.1 |
None known |
proftpd-dfsgUbuntu:22.04:LTS |
All versions, plus listed versions 1.3.7b+dfsg-11.3.7c+dfsg-1build11.3.7c+dfsg-1ubuntu0.1 |
None known |
proftpd-dfsgUbuntu:24.04:LTS |
All versions, plus listed versions 1.3.8+dfsg-81.3.8.a+dfsg-11.3.8.b+dfsg-11.3.8.b+dfsg-1build11.3.8.b+dfsg-1build21.3.8.b+dfsg-1build31.3.8.b+dfsg-1ubuntu0.1 |
None known |
proftpd-dfsgUbuntu:26.10 |
All versions, plus listed versions 1.3.9~dfsg-41.3.9b~dfsg-11.3.9d~dfsg-1 |
None known |
proftpd-dfsgUbuntu:26.04:LTS |
All versions, plus listed versions 1.3.9~dfsg-31.3.9~dfsg-4 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-63091 is a high vulnerability (CVSS 7.1) in Proftpd, published July 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 44th percentile. Fixed in proftpd-dfsg 1.3.8.c+dfsg-4+deb13u3.
References
github.com/proftpd/proftpd/blob/master/RELEASE_NOTES
github.com/proftpd/proftpd/releases/tag/v1.3.10rc3-3
github.com/proftpd/proftpd/releases/tag/v1.3.9c
github.com/proftpd/proftpd/pull/2201
github.com/proftpd/proftpd/commit/b9b7dde1bcd74bc23366484d53856b67b8d6d95e
vulncheck.com/advisories/proftpd-mod-sftp-signed-integer-overflow-via-scp-size-record-parser
Show 10 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-63091
github.com/advisories/GHSA-gqm5-f386-9r92
github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63091.json
github.com/proftpd/proftpd
security-tracker.debian.org/tracker/CVE-2026-63091
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3231
nvd.nist.gov/vuln/detail/CVE-2026-53994
nvd.nist.gov/vuln/detail/CVE-2026-63090
ubuntu.com/security/CVE-2026-63091
cve.org/CVERecord?id=CVE-2026-63091