SFTP chroot bypass via path traversal in SSH_FXP_FSETSTAT
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.
- Yayın
- 21 Nis 2026
- Güncelleme
- 24 Tem 2026
- EPSS
- %0,4 · 34. yüzdelik
- CWE
- CWE-22
Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.
Rapor araçları
Aksiyon skoru
21
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 21 / 40 · 5.3 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,4
CISA SSVC kararı
- Sömürü
- yok
- Otomatikleştirilebilir
- hayır
- Teknik etki
- kısmi
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- —
- CNA · EEF
- 5,3
- NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.
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
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Etkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| erlang | erlang\/otp | cpe:2.3:a:erlang:erlang\/otp |
| erlang | erlang\/ssh | cpe:2.3:a:erlang:erlang\/ssh |
Etkilenen sürümler
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.
- erlang erlang/otp17.0 ve sonrası · 26.2.5.20 öncesi
- erlang erlang/otp27.0 ve sonrası · 27.3.4.11 öncesi
- erlang erlang/otp28.0 ve sonrası · 28.4.3 öncesi
- erlang erlang/ssh3.0.1 ve sonrası · 5.1.4.15 öncesi
- erlang erlang/ssh5.2 ve sonrası · 5.2.11.7 öncesi
- erlang erlang/ssh5.5 ve sonrası · 5.5.2 öncesi
Üreticinin bildirdiği sürümler
Kaydı açan otorite (EEF) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
Erlang OTP
- 3.01 ve sonrasıetkilenir · otpdüzeltildi: 5.5.3, 5.2.11.7, 5.1.4.15
- 17.0 ve sonrasıetkilenir · otpdüzeltildi: 28.4.3, 27.3.4.11, 26.2.5.20
- 07b8f441ca711f9812fad9e9115bab3c3aa92f79 ve sonrasıetkilenir · gitdüzeltildi: 28c5d5a6c5f873dc701b597276271763e7d1c004
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Debian:12 | erlang | tüm sürümler | — |
| Debian:13 | erlang | 1:27.3.4.1+dfsg-1+deb13u3 öncesi | 1:27.3.4.1+dfsg-1+deb13u3 |
| Debian:14 | erlang | 1:27.3.4.11+dfsg-1 öncesi | 1:27.3.4.11+dfsg-1 |
| openSUSE:Leap 16.0 | erlang | 27.1.3-160000.5.1 öncesi | 27.1.3-160000.5.1 |
| openSUSE:Tumbleweed | erlang27 | 27.1.3-2.1 öncesi | 27.1.3-2.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP7 | erlang | 23.3.4.19-150300.3.42.1 öncesi | 23.3.4.19-150300.3.42.1 |
| SUSE:Linux Enterprise Server 16.0 | erlang | 27.1.3-160000.5.1 öncesi | 27.1.3-160000.5.1 |
Aynı üründe
erlang: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2025-32433Erlang/OTP SSH Vulnerable to Pre-Authentication RCEKEV100Hemen
- CVE-2022-37026In 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-cert39İzleyin
- CVE-2016-10253An issue was discovered in Erlang/OTP 18.x.39İzleyin
- CVE-2026-55953TLS 1.2 and DTLS client accepts unoffered anonymous cipher suite, bypassing server authentication36İzleyin
- CVE-2026-49759Stack buffer overflow in SCTP error cause parsing in inet_drv allows remote VM crash35İzleyin
- CVE-2026-59251Denial of service via exponential certificate policy tree growth in path validation34İzleyin
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| Erlang OTP | 26.2.5.20 | Üretici (CNA) |
| Erlang OTP | 27.3.4.11 | Üretici (CNA) |
| Erlang OTP | 28.4.3 | Üretici (CNA) |
| Erlang OTP | 28c5d5a6c5f873dc701b597276271763e7d1c004 | Üretici (CNA) |
| Erlang OTP | 5.1.4.15 | Üretici (CNA) |
| Erlang OTP | 5.2.11.7 | Üretici (CNA) |
| Erlang OTP | 5.5.3 | Üretici (CNA) |
| debian:erlang | 1:27.3.4.1+dfsg-1+deb13u3 · Debian:13 | Paket deposu (OSV) |
| opensuse:erlang | 27.1.3-160000.5.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:erlang27 | 27.1.3-2.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| suse:erlang | 27.1.3-160000.5.1 · SUSE:Linux Enterprise Server 16.0 | Paket deposu (OSV) |
İstismar durumu
Bilinen kamuya açık istismar yok
Şu an kamuya açık bir istismar görülmedi. Bu, güvende olduğunuz anlamına gelmez; yalnızca eşiğin biraz daha yüksek olduğunu gösterir.
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
Yayın dışında tarihli olay yok.
FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.
- John Downeybulan
- Jakub Witczakdüzeltme inceleyici
- Michał Wąsowskidüzeltme geliştirici
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
- CVE-2026-2394239 gün araylaSFTP root escape via component-agnostic prefix check in ssh_sftpd21İzleyin
Zincir adayları
Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.
—
Bug bounty kapsamı
Bilinen herkese açık program yok.
Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).
Teknik detay
Saldırı koşulları
- İnternetten erişebilen herkes tetikleyebilir.
- Düşük yetkili bir hesap yeterli.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- Bütünlük
- Erişilebilirlik
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Düşük
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- X
Zayıflık sınıfı (CWE)
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')CVSS vektörü
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-secondary
Kök neden
Kullanıcının verdiği dosya adı izin verilen klasörle birleştiriliyor, ama sonucun hâlâ o klasörün içinde olup olmadığı kontrol edilmiyor.
Hatanın kod karşılığı
CWE-22 sınıfının tamamıBu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.
Hatalı
const file = path.join(ROOT, req.query.name);res.sendFile(file);Düzeltilmiş
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) { return res.sendStatus(400);}res.sendFile(file);Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Saldırı desenleri (CAPEC)
- Path TraversalCAPEC-126olasılık: High · Very High
- Using Slashes and URL Encoding Combined to Bypass Validation LogicCAPEC-64olasılık: High · High
- Manipulating Web Input to File System CallsCAPEC-76olasılık: High · Very High
- Using Escaped Slashes in Alternate EncodingCAPEC-78olasılık: High · High
- Using Slashes in Alternate EncodingCAPEC-79olasılık: High · High
ATT&CK teknikleri
—
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.
Bu ürünü kullanıyoruz, yardım isteyinDeğişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- cna.erlef.org/cves/CVE-2026-32147.html
- github.com/erlang/otp/commit/28c5d5a6c5f873dc701b597276271763e7d1c004
- github.com/erlang/otp/security/advisories/GHSA-28jg-mw9x-hpm5
- osv.dev/vulnerability/EEF-CVE-2026-32147
- www.erlang.org/doc/system/versions.html#order-of-versions
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.