Impact
An authenticated SFTP user can trigger an infinite tail‑recursive loop in the ssh_sftpd module by sending an SSH_MSG_CHANNEL_EXTENDED_DATA packet with a non‑zero type code and a payload within the SFTP packet size limit. The module’s handle_data/4 function accepts any channel data type, and when it receives this extended data with an empty pending buffer it tail‑calls itself with the same arguments, never reaching an exit condition. This causes the ssh_sftpd process to stay permanently unresponsive, its message queue to grow without bound, and its CPU share to be continuously consumed, resulting in denial of service for the affected channel. While the attack does not provide file access or credentials, it can degrade overall system performance through increased CPU and memory usage, especially if many channels are opened, which the default max_channels setting (∞) permits.
Affected Systems
The vulnerability affects Erlang:OTP releases from 17.0 through 29.0.3, 28.5.0.3, and 27.3.4.14, which correspond to the SSH modules 3.0.1 through 6.0.2, 5.5.2.2, and 5.2.11.9 respectively. Any deployment that uses the ssh_sftpd module and permits authenticated SFTP users is vulnerable.
Risk and Exploitability
The CVSS score of 5.3 indicates medium severity, and the EPSS score of < 1% indicates a very low likelihood of exploitation. The vulnerability is not listed in CISA KEV. Attack requires a network‑based authenticated SFTP session; there is no privilege escalation or data disclosure. The default OTP configuration sets max_channels to infinity, enabling an attacker to open unlimited channels per connection and amplify the CPU and memory impact.
OpenCVE Enrichment