Description
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in Erlang OTP ssh (ssh_sftpd module) allows an authenticated SFTP user to modify file attributes outside the configured chroot directory.
The SFTP daemon (ssh_sftpd) stores the raw, user-supplied path in file handles instead of the chroot-resolved path. When SSH_FXP_FSETSTAT is issued on such a handle, file attributes (permissions, ownership, timestamps) are modified on the real filesystem path, bypassing the root directory boundary entirely.
Any authenticated SFTP user on a server configured with the root option can modify file attributes of files outside the intended chroot boundary. The prerequisite is that a target file must exist on the real filesystem at the same relative path. Note that this vulnerability only allows modification of file attributes; file contents cannot be read or altered through this attack vector.
If the SSH daemon runs as root, this enables direct privilege escalation: an attacker can set the setuid bit on any binary, change ownership of sensitive files, or make system configuration world-writable.
This vulnerability is associated with program files lib/ssh/src/ssh_sftpd.erl and program routines ssh_sftpd:do_open/4 and ssh_sftpd:handle_op/4.
This issue affects OTP from OTP 17.0 before OTP 26.2.5.20, OTP 27.3.4.11, and OTP 28.4.3, corresponding to ssh from 3.0.1 before 5.1.4.15, 5.2.11.7, and 5.5.2. Whether OTP before OTP 17.0, corresponding to ssh before 3.0.1, is affected is unknown.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Erlang | OTP | 17.0, 3.0.1 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | erlang | 1:27.3.4.11+dfsg-1 | — |
| Debian 13 | erlang | 1:27.3.4.1+dfsg-1+deb13u3 | — |
| Debian 12 | erlang | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.04 LTS | erlang | 1:27.3.4.6+dfsg-1ubuntu0.2 | USN-8901-1 |
| Ubuntu 25.10 | erlang | No fix yet | — |
| Ubuntu 24.04 LTS | erlang | 1:25.3.2.8+dfsg-1ubuntu4.8 | USN-8901-1 |
| Ubuntu 22.04 LTS | erlang | 1:24.2.1+dfsg-1ubuntu0.8 | USN-8901-1 |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 20.04 LTS | erlang | 1:22.2.7+dfsg-1ubuntu0.5+esm3 | USN-8901-1 |
| Ubuntu Pro 18.04 LTS | erlang | 1:20.2.2+dfsg-1ubuntu2+esm4 | USN-8901-1 |
| Ubuntu Pro 16.04 LTS | erlang | 1:18.3-dfsg-1ubuntu3.1+esm4 | USN-8901-1 |
| Ubuntu Pro 14.04 LTS | erlang | 1:16.b.3-dfsg-1ubuntu2.2+esm3 | USN-8901-1 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | erlang | 23.3.4.19-150300.3.42.1 | SUSE-SU-2026:3951-1 |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | erlang | 27.1.3-160000.5.1 | SUSE-SU-2026:22082-1 |
| SLES 16.0 | erlang | 27.1.3-160000.5.1 | SUSE-SU-2026:22082-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | erlang27 | 27.1.3-2.1 | openSUSE-SU-2026:10947-1 |
| openSUSE Leap 16.0 | erlang | 27.1.3-160000.5.1 | openSUSE-SU-2026:20907-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | erlang | 26.2.5.20-1 | — |
Advisories 6
- USN-8901-1 erlang vulnerabilities Ubuntu Security Notices (USN) · Oct 8, 2026
- SUSE-SU-2026:3951-1 Security update for erlang SUSE / openSUSE Security Updates · Sep 10, 2026
- WID-SEC-2026-1224 Erlang/OTP: Schwachstelle ermöglicht Manipulation von Dateien BSI CERT-Bund (WID) · Sep 9, 2026
- SUSE-SU-2026:22082-1 Security update for erlang SUSE / openSUSE Security Updates · Jun 16, 2026
- openSUSE-SU-2026:20907-1 Security update for erlang SUSE / openSUSE Security Updates · Jun 9, 2026
- openSUSE-SU-2026:10947-1 erlang27-27.1.3-2.1 on GA media SUSE / openSUSE Security Updates · Jun 4, 2026
References
- Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in SFTP chroot vendor-advisory related
- EEF CNA record for CVE-2026-32147 related
- OSV record EEF-CVE-2026-32147 related
- Erlang/OTP version ordering
- Introducing commit 07b8f44 in erlang/otp related
- Fix commit 28c5d5a in erlang/otp patch