CVE-2026-32147
mediumImproper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in Erlang OTP ssh (ssh_sftpd module) allows an authenticated SFTP…
Vendor / product: Erlang — erlang\/otp
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.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N Affected products
Weakness classification (CWE)
Source: NVD / CISA. “NVD-CWE-Other” and “NVD-CWE-noinfo” mean NVD could not assign a specific weakness.
Mitigation & advisories
References
- https://cna.erlef.org/cves/CVE-2026-32147.html 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
- https://github.com/erlang/otp/commit/07b8f441ca711f9812fad9e9115bab3c3aa92f79 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
- https://github.com/erlang/otp/commit/28c5d5a6c5f873dc701b597276271763e7d1c004 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
- https://github.com/erlang/otp/security/advisories/GHSA-28jg-mw9x-hpm5 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
- https://osv.dev/vulnerability/EEF-CVE-2026-32147 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
- https://www.erlang.org/doc/system/versions.html#order-of-versions 6b3ad84c-e1a6-4bf7-a703-f496b71e49db

