btrfs: don't abort filesystem when attempting to snapshot deleted subvolume
In the Linux kernel, the following vulnerability has been resolved: btrfs: don't abort filesystem when attempting to snapshot deleted subvolume If the source file descriptor to the snapshot ioctl refers to a deleted subvolume, we get the following abort: BTRFS: Transaction aborted (error -2) WARNING: CPU: 0 PID: 833 at fs/btrfs/transaction.c:1875 create_pending_snapshot+0x1040/0x1190 [btrfs] Modules linked in: pata_acpi btrfs ata_piix libata scsi_mod virtio_net blake2b_generic xor net_failover virtio_rng failover scsi_common rng_core raid6_pq libcrc32c CPU: 0 PID: 833 Comm: t_snapshot_dele Not tainted 6.7.0-rc6 #2 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-1.fc39 04/01/2014 RIP: 0010:create_pending_snapshot+0x1040/0x1190 [btrfs] RSP: 0018:ffffa09c01337af8 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffff9982053e7c78 RCX: 0000000000000027 RDX: ffff99827dc20848 RSI: 0000000000000001 RDI: ffff99827dc20840 RBP: ffffa09c01337c00 R08: 0000000000000000 R09: ffffa09c01337998 R10: 0000000000000003 R11: ffffffffb96da248 R12: fffffffffffffffe R13: ffff99820535bb28 R14: ffff99820b7bd000 R15: ffff99820381ea80 FS: 00007fe20aadabc0(0000) GS:ffff99827dc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000559a120b502f CR3: 00000000055b6000 CR4: 00000000000006f0 Call Trace: <TASK> ? create_pending_snapshot+0x1040/0x1190 [btrfs] ? __warn+0x81/0x130 ? create_pending_snapshot+0x1040/0x1190 [btrfs] ? report_bug+0x171/0x1a0 ? handle_bug+0x3a/0x70 ? exc_invalid_op+0x17/0x70 ? asm_exc_invalid_op+0x1a/0x20 ? create_pending_snapshot+0x1040/0x1190 [btrfs] ? create_pending_snapshot+0x1040/0x1190 [btrfs] create_pending_snapshots+0x92/0xc0 [btrfs] btrfs_commit_transaction+0x66b/0xf40 [btrfs] btrfs_mksubvol+0x301/0x4d0 [btrfs] btrfs_mksnapshot+0x80/0xb0 [btrfs] __btrfs_ioctl_snap_create+0x1c2/0x1d0 [btrfs] btrfs_ioctl_snap_create_v2+0xc4/0x150 [btrfs] btrfs_ioctl+0x8a6/0x2650 [btrfs] ? kmem_cache_free+0x22/0x340 ? do_sys_openat2+0x97/0xe0 __x64_sys_ioctl+0x97/0xd0 do_syscall_64+0x46/0xf0 entry_SYSCALL_64_after_hwframe+0x6e/0x76 RIP: 0033:0x7fe20abe83af RSP: 002b:00007ffe6eff1360 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 00007fe20abe83af RDX: 00007ffe6eff23c0 RSI: 0000000050009417 RDI: 0000000000000003 RBP: 0000000000000003 R08: 0000000000000000 R09: 00007fe20ad16cd0 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffe6eff13c0 R14: 00007fe20ad45000 R15: 0000559a120b6d58 </TASK> ---[ end trace 0000000000000000 ]--- BTRFS: error (device vdc: state A) in create_pending_snapshot:1875: errno=-2 No such entry BTRFS info (device vdc: state EA): forced readonly BTRFS warning (device vdc: state EA): Skipping commit of aborted transaction. BTRFS: error (device vdc: state EA) in cleanup_transaction:2055: errno=-2 No such entry This happens because create_pending_snapshot() initializes the new root item as a copy of the source root item. This includes the refs field, which is 0 for a deleted subvolume. The call to btrfs_insert_root() therefore inserts a root with refs == 0. btrfs_get_new_fs_root() then finds the root and returns -ENOENT if refs == 0, which causes create_pending_snapshot() to abort. Fix it by checking the source root's refs before attempting the snapshot, but after locking subvol_sem to avoid racing with deletion.
- Yayın
- 26 Mar 2024
- Güncelleme
- 17 Haz 2026
- EPSS
- %0,2 · 13. yüzdelik
- CWE
- CWE-908
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
22
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 22 / 40 · 5.5 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,2
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 isteyinEtkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
| debian | debian linux | cpe:2.3:o:debian:debian_linux |
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.
- debian debian linux10.0
- linux linux kernel5.11 ve sonrası · 5.15.149 öncesi
- linux linux kernel5.16 ve sonrası · 6.1.76 öncesi
- linux linux kernel5.10.210 öncesi
- linux linux kernel6.7 ve sonrası · 6.7.3 öncesi
- linux linux kernel6.2 ve sonrası · 6.6.15 ö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
- 2.6.35etkilenir
- d68fc57b7e3245cfacf2e3b47acfed1946a11786 ve sonrası · c06941564027bdbc01d2df7f41e333c11cb0482d öncesietkilenir · git
- d68fc57b7e3245cfacf2e3b47acfed1946a11786 ve sonrası · 2bdf872bcfe629a6202ffd6641615a8ed00e8464 öncesietkilenir · git
- d68fc57b7e3245cfacf2e3b47acfed1946a11786 ve sonrası · 0877497dc97834728e1b528ddf1e1c484292c29c öncesietkilenir · git
- d68fc57b7e3245cfacf2e3b47acfed1946a11786 ve sonrası · 6e6bca99e8d88d989a7cde4c064abea552d5219b öncesietkilenir · git
- d68fc57b7e3245cfacf2e3b47acfed1946a11786 ve sonrası · ec794a7528199e1be6d47bec03f4755aa75df256 öncesietkilenir · git
- d68fc57b7e3245cfacf2e3b47acfed1946a11786 ve sonrası · d8680b722f0ff6d7a01ddacc1844e0d52354d6ff öncesietkilenir · git
- d68fc57b7e3245cfacf2e3b47acfed1946a11786 ve sonrası · 7081929ab2572920e94d70be3d332e5c9f97095a öncesietkilenir · git
- 2.6.35 öncesietkilenmez · semver
- 5.4.296 ve sonrası · 5.4.* 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.76-1 öncesi | 6.1.76-1 |
| Debian:13 | linux | 6.6.15-1 öncesi | 6.6.15-1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kernel-default | 4.12.14-122.247.1 öncesi | 4.12.14-122.247.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kgraft-patch-SLE12-SP5_Update_65 | 1-8.3.1 öncesi | 1-8.3.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | kernel-source | 4.12.14-122.247.1 öncesi | 4.12.14-122.247.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | kernel-syms | 4.12.14-122.247.1 öncesi | 4.12.14-122.247.1 |
Aynı üründe
linux: tüm kayıtlarAynı 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 KEV89Hemen
- CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV85Hemen
- 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 haKEV83Hemen
- 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 creKEV77Bu 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 addKEV77Bu 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 loKEV77Bu 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 / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| Linux Linux | 0877497dc97834728e1b528ddf1e1c484292c29c | Üretici (CNA) |
| Linux Linux | 2bdf872bcfe629a6202ffd6641615a8ed00e8464 | Üretici (CNA) |
| Linux Linux | 6e6bca99e8d88d989a7cde4c064abea552d5219b | Üretici (CNA) |
| Linux Linux | 7081929ab2572920e94d70be3d332e5c9f97095a | Üretici (CNA) |
| Linux Linux | c06941564027bdbc01d2df7f41e333c11cb0482d | Üretici (CNA) |
| Linux Linux | d8680b722f0ff6d7a01ddacc1844e0d52354d6ff | Üretici (CNA) |
| Linux Linux | ec794a7528199e1be6d47bec03f4755aa75df256 | Üretici (CNA) |
| debian:linux | 6.1.76-1 · Debian:12 | Paket deposu (OSV) |
| suse:kernel-default | 4.12.14-122.247.1 · SUSE:Linux Enterprise Live Patching 12 SP5 | Paket deposu (OSV) |
| suse:kernel-source | 4.12.14-122.247.1 · SUSE:Linux Enterprise Server 12 SP5-LTSS | Paket deposu (OSV) |
| suse:kernel-syms | 4.12.14-122.247.1 · SUSE:Linux Enterprise Server 12 SP5-LTSS | Paket deposu (OSV) |
| suse:kgraft-patch-SLE12-SP5_Update_65 | 1-8.3.1 · SUSE:Linux Enterprise Live Patching 12 SP5 | 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.
- CVE-2024-50302237 gün araylaHID: core: zero-initialize the report bufferKEV52Planlayın
- CVE-2024-47685209 gün araylanetfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()36İzleyin
- CVE-2024-2702236 gün araylafork: defer linking file vma until vma is fully initialized31İzleyin
- CVE-2021-4755359 gün araylasched/scs: Reset task stack state in bringup_cpu()31İzleyin
- CVE-2024-3689865 gün araylagpiolib: cdev: fix uninitialised kfifo31İzleyin
- CVE-2024-50143226 gün araylaudf: fix uninit-value use in udf_get_fileshortad31İ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.
- TR-24-0494 · 16 May 2024(Linux Kernel Güncellemesi)
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-908 · Use of Uninitialized ResourceCVSS 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üğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- git.kernel.org/stable/c/0877497dc97834728e1b528ddf1e1c484292c29c
- git.kernel.org/stable/c/2bdf872bcfe629a6202ffd6641615a8ed00e8464
- git.kernel.org/stable/c/6e6bca99e8d88d989a7cde4c064abea552d5219b
- git.kernel.org/stable/c/7081929ab2572920e94d70be3d332e5c9f97095a
- git.kernel.org/stable/c/c06941564027bdbc01d2df7f41e333c11cb0482d
- git.kernel.org/stable/c/d8680b722f0ff6d7a01ddacc1844e0d52354d6ff
- git.kernel.org/stable/c/ec794a7528199e1be6d47bec03f4755aa75df256
- lists.debian.org/debian-lts-announce/2024/06/msg00017.html
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.