CVE-2026-32147 json
SFTP chroot bypass via path traversal in SSH_FXP_FSETSTAT
published 2026-04-21 6 mo ago modified 2026-10-26 13 d ago also EUVD-2026-24085
- cvss
- 4.3
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 29%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- Erlang OTP 5.1.4.15, 5.2.11.7, 5.5.3, 26.2.5.20, 27.3.4.11, 28.4.3
- erlang Debian 13 1:27.3.4.1+dfsg-1+deb13u3
- erlang Debian 14 1:27.3.4.11+dfsg-1
debian advisories DEBIAN-CVE-2026-32147
- erlang Ubuntu 22.04 LTS 1:24.2.1+dfsg-1ubuntu0.8
- erlang Ubuntu 24.04 LTS 1:25.3.2.8+dfsg-1ubuntu4.8
- erlang Ubuntu 26.04 LTS 1:27.3.4.6+dfsg-1ubuntu0.2
- erlang Ubuntu Pro 14.04 LTS 1:16.b.3-dfsg-1ubuntu2.2+esm3
- erlang Ubuntu Pro 16.04 LTS 1:18.3-dfsg-1ubuntu3.1+esm4
- erlang Ubuntu Pro 18.04 LTS 1:20.2.2+dfsg-1ubuntu2+esm4
- erlang Ubuntu Pro 20.04 LTS 1:22.2.7+dfsg-1ubuntu0.5+esm3
ubuntu advisories UBUNTU-CVE-2026-32147
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- erlang SLE Module for Server Applications 15 SP7 23.3.4.19-150300.3.42.1
- erlang SLES for SAP applications 16.0, SLES 16.0 27.1.3-160000.5.1
suse advisories SUSE-SU-2026:3951-1SUSE-SU-2026:22082-1
- erlang openSUSE Leap 16.0 27.1.3-160000.5.1
- erlang27 openSUSE Tumbleweed 27.1.3-2.1
opensuse advisories openSUSE-SU-2026:20907-1openSUSE-SU-2026:10947-1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.35% chance of exploitation in the next 30 days, higher than 29% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N |
| CNA | 4.0 | 5.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N |
Affected products
- Erlang OTP
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/erlang/otp/commit/28c5d5a6c5f873dc701b597276271763e7d1c004
patch
-
github.com
/erlang/otp/security/advisories/GHSA-28jg-mw9x-hpm5
vendor-advisory, related
-
cna.erlef.org
/cves/CVE-2026-32147.html
related, vendor-advisory
-
osv.dev
/vulnerability/EEF-CVE-2026-32147
related, third-party-advisory
-
erlang.org
/doc/system/versions.html#order-of-versions
product
Sources
- CVE List CVE-2026-32147
- NVD CVE-2026-32147
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.