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 until OTP 28.4.3, 27.3.4.11, and 26.2.5.20 corresponding to ssh from 3.01 until 5.5.3, 5.2.11.7, and 5.1.4.15.
References
| Link | Resource |
|---|---|
| https://cna.erlef.org/cves/CVE-2026-32147.html | Vendor Advisory |
| https://github.com/erlang/otp/commit/28c5d5a6c5f873dc701b597276271763e7d1c004 | Patch |
| https://github.com/erlang/otp/security/advisories/GHSA-28jg-mw9x-hpm5 | Vendor Advisory |
| https://osv.dev/vulnerability/EEF-CVE-2026-32147 | Third Party Advisory |
| https://www.erlang.org/doc/system/versions.html#order-of-versions | Product |
Configurations
Configuration 1 (hide)
|
History
21 May 2026, 15:22
| Type | Values Removed | Values Added |
|---|---|---|
| References | () https://cna.erlef.org/cves/CVE-2026-32147.html - Vendor Advisory | |
| References | () https://github.com/erlang/otp/commit/28c5d5a6c5f873dc701b597276271763e7d1c004 - Patch | |
| References | () https://github.com/erlang/otp/security/advisories/GHSA-28jg-mw9x-hpm5 - Vendor Advisory | |
| References | () https://osv.dev/vulnerability/EEF-CVE-2026-32147 - Third Party Advisory | |
| References | () https://www.erlang.org/doc/system/versions.html#order-of-versions - Product | |
| CPE | cpe:2.3:a:erlang:erlang\/ssh:*:*:*:*:*:*:*:* cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:* |
|
| First Time |
Erlang
Erlang erlang\/otp Erlang erlang\/ssh |
|
| CVSS |
v2 : v3 : |
v2 : unknown
v3 : 4.3 |
21 Apr 2026, 12:15
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-04-21 12:15
Updated : 2026-05-21 17:37
NVD link : CVE-2026-32147
Mitre link : CVE-2026-32147
CVE.ORG link : CVE-2026-32147
JSON object : View
Products Affected
erlang
- erlang\/ssh
- erlang\/otp
CWE
CWE-22
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
