f2fs: invalidate dentry cache on failed whiteout creation
In the Linux kernel, the following vulnerability has been resolved: f2fs: invalidate dentry cache on failed whiteout creation F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link. If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings. In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode. This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink(). Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1 - f2fs updates file1 entry on disk (points to inode 8) - f2fs deletes file2 entry on disk - f2fs_add_link(whiteout) fails (corrupted directory) - Returns error to VFS - VFS does not call d_move() due to error - VFS cache still has: file1 → inode 7 (stale!) - inode 7 has i_nlink=0 (already decremented) 2. Second rename: file3 → file1 - VFS uses stale cache: file1 → inode 7 - Tries to drop_nlink on inode 7 (i_nlink already 0) - WARNING in drop_nlink() Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds. Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()
- Yayın
- 13 Oca 2026
- Güncelleme
- 17 Haz 2026
- EPSS
- %0,2 · 9. yüzdelik
- CWE
- —
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
0
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 0 / 40 · —
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,2
Etkilenen sistemler
—
Üreticinin bildirdiği sürümler
Kaydı açan otorite (Linux) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
Linux Linux
- 4.2etkilenir
- 7e01e7ad746bc8198a8b46163ddc73a1c7d22339 ve sonrası · 7f2bae0c881aa1e0a6318756df692cc13df2cc83 öncesietkilenir · git
- 7e01e7ad746bc8198a8b46163ddc73a1c7d22339 ve sonrası · 3d95ed8cf980fdfa67a3ab9491357521ae576168 öncesietkilenir · git
- 7e01e7ad746bc8198a8b46163ddc73a1c7d22339 ve sonrası · 64587ab4d1f16fc94f70e04fa87b2e3f69f8a7bb öncesietkilenir · git
- 7e01e7ad746bc8198a8b46163ddc73a1c7d22339 ve sonrası · 3d65e27e57aaa9d66709fda4cbfb62a87c04a3f5 öncesietkilenir · git
- 7e01e7ad746bc8198a8b46163ddc73a1c7d22339 ve sonrası · c89845fae250efdd59c1d4ec60e9e1c652cee4b6 öncesietkilenir · git
- 7e01e7ad746bc8198a8b46163ddc73a1c7d22339 ve sonrası · 0dde30753c1e8648665dbe069d814e540ce2fd37 öncesietkilenir · git
- 7e01e7ad746bc8198a8b46163ddc73a1c7d22339 ve sonrası · d33f89b34aa313f50f9a512d58dd288999f246b0 öncesietkilenir · git
- 4.2 öncesietkilenmez · semver
- 5.10.248 ve sonrası · 5.10.* dahil öncesietkilenmez · semver
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 | linux | 6.1.162-1 öncesi | 6.1.162-1 |
| Debian:13 | linux | 6.12.69-1 öncesi | 6.12.69-1 |
| Debian:14 | linux | 6.18.3-1 öncesi | 6.18.3-1 |
Aynı üründe
linux: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation40Planlayın
- CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment40Planlayın
- CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()40Planlayın
- CVE-2026-74309vdpa/octeon_ep: fix IRQ-to-ring mapping in interrupt handler40Planlayın
- CVE-2026-74280crypto: marvell/octeontx - fix DMA cleanup using wrong loop index40Planlayın
- CVE-2026-74279crypto: cavium/cpt - fix DMA cleanup using wrong loop index40Planlayın
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 |
|---|---|---|
| Linux Linux | 0dde30753c1e8648665dbe069d814e540ce2fd37 | Üretici (CNA) |
| Linux Linux | 3d65e27e57aaa9d66709fda4cbfb62a87c04a3f5 | Üretici (CNA) |
| Linux Linux | 3d95ed8cf980fdfa67a3ab9491357521ae576168 | Üretici (CNA) |
| Linux Linux | 64587ab4d1f16fc94f70e04fa87b2e3f69f8a7bb | Üretici (CNA) |
| Linux Linux | 7f2bae0c881aa1e0a6318756df692cc13df2cc83 | Üretici (CNA) |
| Linux Linux | c89845fae250efdd59c1d4ec60e9e1c652cee4b6 | Üretici (CNA) |
| Linux Linux | d33f89b34aa313f50f9a512d58dd288999f246b0 | Üretici (CNA) |
| azl3 kernel 6.6.119.3-3 on Azure Linux 3.0 | 6.6.121.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| debian:linux | 6.1.162-1 · Debian:12 | 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.
Referanslarda commit ya da PR bağlantısı yok.
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.
CNA kaydında kredi yok.
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
Gece hesaplanan ilişki yok.
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
Bu kayıt için CVSS vektörü yok; saldırı koşulları çıkarılamıyor.
Zayıflık sınıfı (CWE)
—
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ı.
Bu CWE için MITRE'de CAPEC/ATT&CK eşlemesi yok.
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
- git.kernel.org/stable/c/0dde30753c1e8648665dbe069d814e540ce2fd37
- git.kernel.org/stable/c/3d65e27e57aaa9d66709fda4cbfb62a87c04a3f5
- git.kernel.org/stable/c/3d95ed8cf980fdfa67a3ab9491357521ae576168
- git.kernel.org/stable/c/64587ab4d1f16fc94f70e04fa87b2e3f69f8a7bb
- git.kernel.org/stable/c/7f2bae0c881aa1e0a6318756df692cc13df2cc83
- git.kernel.org/stable/c/c89845fae250efdd59c1d4ec60e9e1c652cee4b6
- git.kernel.org/stable/c/d33f89b34aa313f50f9a512d58dd288999f246b0
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.