İçeriğe atla
Noroxi
CVE-2024-26726· NVD / CVE Programı· CNA Linux

btrfs: don't drop extent_map for free space inode on write error

In the Linux kernel, the following vulnerability has been resolved: btrfs: don't drop extent_map for free space inode on write error While running the CI for an unrelated change I hit the following panic with generic/648 on btrfs_holes_spacecache. assertion failed: block_start != EXTENT_MAP_HOLE, in fs/btrfs/extent_io.c:1385 ------------[ cut here ]------------ kernel BUG at fs/btrfs/extent_io.c:1385! invalid opcode: 0000 [#1] PREEMPT SMP NOPTI CPU: 1 PID: 2695096 Comm: fsstress Kdump: loaded Tainted: G W 6.8.0-rc2+ #1 RIP: 0010:__extent_writepage_io.constprop.0+0x4c1/0x5c0 Call Trace: <TASK> extent_write_cache_pages+0x2ac/0x8f0 extent_writepages+0x87/0x110 do_writepages+0xd5/0x1f0 filemap_fdatawrite_wbc+0x63/0x90 __filemap_fdatawrite_range+0x5c/0x80 btrfs_fdatawrite_range+0x1f/0x50 btrfs_write_out_cache+0x507/0x560 btrfs_write_dirty_block_groups+0x32a/0x420 commit_cowonly_roots+0x21b/0x290 btrfs_commit_transaction+0x813/0x1360 btrfs_sync_file+0x51a/0x640 __x64_sys_fdatasync+0x52/0x90 do_syscall_64+0x9c/0x190 entry_SYSCALL_64_after_hwframe+0x6e/0x76 This happens because we fail to write out the free space cache in one instance, come back around and attempt to write it again. However on the second pass through we go to call btrfs_get_extent() on the inode to get the extent mapping. Because this is a new block group, and with the free space inode we always search the commit root to avoid deadlocking with the tree, we find nothing and return a EXTENT_MAP_HOLE for the requested range. This happens because the first time we try to write the space cache out we hit an error, and on an error we drop the extent mapping. This is normal for normal files, but the free space cache inode is special. We always expect the extent map to be correct. Thus the second time through we end up with a bogus extent map. Since we're deprecating this feature, the most straightforward way to fix this is to simply skip dropping the extent map range for this failed range. I shortened the test by using error injection to stress the area to make it easier to reproduce. With this patch in place we no longer panic with my error injection test.

OrtaCVSS 5.5 · v3.1—İstismar yok Düzeltme var
Yayın
3 Nis 2024
Güncelleme
17 Haz 2026
EPSS
%0,3 · 16. yüzdelik
Bu CVE’yi takip et

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ı

JSON

Aksiyon skoru

22

İzleyin

Şimdilik düşük öncelik.

CVSS
22 / 40 · 5.5 / 10
CISA KEV
0 / 30 · Listede değil
EPSS
0 / 30 · %0,3

CISA SSVC kararı

Sömürü
yok
Otomatikleştirilebilir
hayır
Teknik etki
kısmi

Vulnrichment: CISA'nın karar ağacı girdileri.

Noroxi analizi

Bu kayıt için henüz Noroxi analizi yok

Veritabanındaki yüz binlerce 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 isteyin

Etkilenen sistemler

ÜreticiÜrün
linuxlinux kernel

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.

  • linux linux kernel6.1.79 öncesi
  • linux linux kernel6.2 ve sonrası · 6.6.18 öncesi
  • linux linux kernel6.7 ve sonrası · 6.7.6 öncesi
  • linux linux kernel6.8

Ü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

    • 3.12etkilenir
    • 77cef2ec5484564eca6bd12a2b4a1e88fd766fbc ve sonrası · 143842584c1237ebc248b2547c29d16bbe400a92 öncesietkilenir · git
    • 77cef2ec5484564eca6bd12a2b4a1e88fd766fbc ve sonrası · 02f2b95b00bf57d20320ee168b30fb7f3db8e555 öncesietkilenir · git
    • 77cef2ec5484564eca6bd12a2b4a1e88fd766fbc ve sonrası · 7bddf18f474f166c19f91b2baf67bf7c5eda03f7 öncesietkilenir · git
    • 77cef2ec5484564eca6bd12a2b4a1e88fd766fbc ve sonrası · a4b7741c8302e28073bfc6dd1c2e73598e5e535e öncesietkilenir · git
    • 77cef2ec5484564eca6bd12a2b4a1e88fd766fbc ve sonrası · 5571e41ec6e56e35f34ae9f5b3a335ef510e0ade öncesietkilenir · git
    • 3.12 öncesietkilenmez · semver
    • 5.15.187 ve sonrası · 5.15.* dahil öncesietkilenmez · semver
    • 6.1.79 ve sonrası · 6.1.* dahil öncesietkilenmez · semver
    • 6.6.18 ve sonrası · 6.6.* 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.

EkosistemPaketEtkilenen aralıkDüzeltme
Debian:12linux6.1.82-1 öncesi6.1.82-1
Debian:13linux6.7.7-1 öncesi6.7.7-1

Aynı birincil ürünün en yüksek skorlu diğer kayıtları.

  • CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe KEV
    89Hemen
  • CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV
    85Hemen
  • CVE-2016-5195Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by leveraging incorrect haKEV
    83Hemen
  • CVE-2019-13272In the Linux kernel before 5.1.17, ptrace_link in kernel/ptrace.c mishandles the recording of the credentials of a process that wants to creKEV
    77Bu hafta
  • CVE-2013-6282The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the v6k and v7 ARM platforms do not validate certain addKEV
    77Bu hafta
  • CVE-2013-2094The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9 uses an incorrect integer data type, which allows loKEV
    77Bu hafta

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 / paketDüzeltilmiş sürümKaynak
Linux Linux02f2b95b00bf57d20320ee168b30fb7f3db8e555Üretici (CNA)
Linux Linux143842584c1237ebc248b2547c29d16bbe400a92Üretici (CNA)
Linux Linux5571e41ec6e56e35f34ae9f5b3a335ef510e0adeÜretici (CNA)
Linux Linux7bddf18f474f166c19f91b2baf67bf7c5eda03f7Üretici (CNA)
Linux Linuxa4b7741c8302e28073bfc6dd1c2e73598e5e535eÜretici (CNA)
debian:linux6.1.82-1 · Debian:12Paket 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.

EPSS son 120 gün

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.

CNA 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.

  • CVE-2023-2156330 gün araylaA flaw was found in the networking subsystem of the Linux kernel within the handling of the RPL protocol.
    32İzleyin
  • CVE-2023-526218 gün araylabpf: Check rcu_read_lock_trace_held() before calling bpf map helpers
    31İzleyin
  • CVE-2025-39803530 gün araylascsi: ufs: core: Remove WARN_ON_ONCE() call from ufshcd_uic_cmd_compl()
    31İzleyin
  • CVE-2024-267270 gün araylabtrfs: do not ASSERT() if the newly created subvolume already got read
    22İzleyin
  • CVE-2022-4863325 gün arayladrm/gma500: Fix WARN_ON(lock->magic != lock) error
    22İzleyin
  • CVE-2024-2693728 gün arayladrm/i915/gt: Reset queue_priority_hint on parking
    22İ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).

Ulusal bildirim (Siber Güvenlik Başkanlığı / USOM)

Bu kaydı anan resmi güvenlik bildirimleri; çözüm önerisi kurumun sayfasında.

Tüm ulusal bildirimler →

Teknik detay

Saldırı koşulları

  • Sisteme yerel erişimi olan biri 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
yok
Bütünlük
yok
Erişilebilirlik
yüksek · hizmet durdurulabilir
Saldırı vektörü
Yerel
Karmaşıklık
Düşük
Gereken yetki
Düşük
Kullanıcı etkileşimi
Gerekmez
Kapsam
Değişmez
Gizlilik etkisi
Yok
Bütünlük etkisi
Yok
Erişilebilirlik etkisi
Yüksek

Zayıflık sınıfı (CWE)

CWE-617 · Reachable Assertion

CVSS vektörü

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

nvd-primary

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.

Değişiklik günlüğü

  1. Düzeltme✗ → ✓

Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →

Referanslar

Tüm kayıtlar