Medium severity · published Apr 21, 2026
CVE-2026-32147
SFTP chroot bypass via path traversal in SSH_FXP_FSETSTAT
4.3
CVSS
0.4%
EPSS
No
On KEV
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 28.4.3, OTP 27.3.4.11 and OTP 26.2.5.20, corresponding to ssh from 3.0.1 before 5.5.3, 5.2.11.7 and 5.1.4.15.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
None
Integrity
Low
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 29% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
OT
OTP · Erlang
3.01; 17.0; 07b8f441ca711f9812fad9e9115bab3c3aa92f79 · source: vendor
ER
Erlang/otp · Erlang
17.0 before 26.2.5.20; 27.0 before 27.3.4.11; 28.0 before 28.4.3 · source: NVD
ER
Erlang/ssh · Erlang
3.0.1 before 5.1.4.15; 5.2 before 5.2.11.7; 5.5 before 5.5.2 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-32147
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-32147
Vendor Advisory
https://cna.erlef.org/cves/CVE-2026-32147.html
Patch
https://github.com/erlang/otp/commit/28c5d5a6c5f873dc701b597276271763e7d1c004
Vendor Advisory
https://github.com/erlang/otp/security/advisories/GHSA-28jg-mw9x-hpm5
Third Party Advisory
https://osv.dev/vulnerability/EEF-CVE-2026-32147
Product
https://www.erlang.org/doc/system/versions.html#order-of-versions
More from OTP
10.0
CVE-2025-32433
Erlang/OTP SSH Vulnerable to Pre-Authentication RCE
9.8
CVE-2026-28808
ScriptAlias CGI targets bypass directory auth in inets httpd (mod_auth vs mod_cgi path mismatch)
9.8
CVE-2022-37026
In Erlang/OTP before 23.3.4.15, 24.x before 24.3.4.2, and 25.x before 25.0.2, there is a Client Authentication Bypass in certain client-certification situations for SSL, TLS, and…
9.8
CVE-2016-10253
An issue was discovered in Erlang/OTP 18.x
9.4
CVE-2026-23941
Request smuggling via first-wins Content-Length parsing in inets httpd
