btrfs: fix hang during unmount when stopping a space reclaim worker
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix hang during unmount when stopping a space reclaim worker Often when running generic/562 from fstests we can hang during unmount, resulting in a trace like this: Sep 07 11:52:00 debian9 unknown: run fstests generic/562 at 2022-09-07 11:52:00 Sep 07 11:55:32 debian9 kernel: INFO: task umount:49438 blocked for more than 120 seconds. Sep 07 11:55:32 debian9 kernel: Not tainted 6.0.0-rc2-btrfs-next-122 #1 Sep 07 11:55:32 debian9 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Sep 07 11:55:32 debian9 kernel: task:umount state:D stack: 0 pid:49438 ppid: 25683 flags:0x00004000 Sep 07 11:55:32 debian9 kernel: Call Trace: Sep 07 11:55:32 debian9 kernel: <TASK> Sep 07 11:55:32 debian9 kernel: __schedule+0x3c8/0xec0 Sep 07 11:55:32 debian9 kernel: ? rcu_read_lock_sched_held+0x12/0x70 Sep 07 11:55:32 debian9 kernel: schedule+0x5d/0xf0 Sep 07 11:55:32 debian9 kernel: schedule_timeout+0xf1/0x130 Sep 07 11:55:32 debian9 kernel: ? lock_release+0x224/0x4a0 Sep 07 11:55:32 debian9 kernel: ? lock_acquired+0x1a0/0x420 Sep 07 11:55:32 debian9 kernel: ? trace_hardirqs_on+0x2c/0xd0 Sep 07 11:55:32 debian9 kernel: __wait_for_common+0xac/0x200 Sep 07 11:55:32 debian9 kernel: ? usleep_range_state+0xb0/0xb0 Sep 07 11:55:32 debian9 kernel: __flush_work+0x26d/0x530 Sep 07 11:55:32 debian9 kernel: ? flush_workqueue_prep_pwqs+0x140/0x140 Sep 07 11:55:32 debian9 kernel: ? trace_clock_local+0xc/0x30 Sep 07 11:55:32 debian9 kernel: __cancel_work_timer+0x11f/0x1b0 Sep 07 11:55:32 debian9 kernel: ? close_ctree+0x12b/0x5b3 [btrfs] Sep 07 11:55:32 debian9 kernel: ? __trace_bputs+0x10b/0x170 Sep 07 11:55:32 debian9 kernel: close_ctree+0x152/0x5b3 [btrfs] Sep 07 11:55:32 debian9 kernel: ? evict_inodes+0x166/0x1c0 Sep 07 11:55:32 debian9 kernel: generic_shutdown_super+0x71/0x120 Sep 07 11:55:32 debian9 kernel: kill_anon_super+0x14/0x30 Sep 07 11:55:32 debian9 kernel: btrfs_kill_super+0x12/0x20 [btrfs] Sep 07 11:55:32 debian9 kernel: deactivate_locked_super+0x2e/0xa0 Sep 07 11:55:32 debian9 kernel: cleanup_mnt+0x100/0x160 Sep 07 11:55:32 debian9 kernel: task_work_run+0x59/0xa0 Sep 07 11:55:32 debian9 kernel: exit_to_user_mode_prepare+0x1a6/0x1b0 Sep 07 11:55:32 debian9 kernel: syscall_exit_to_user_mode+0x16/0x40 Sep 07 11:55:32 debian9 kernel: do_syscall_64+0x48/0x90 Sep 07 11:55:32 debian9 kernel: entry_SYSCALL_64_after_hwframe+0x63/0xcd Sep 07 11:55:32 debian9 kernel: RIP: 0033:0x7fcde59a57a7 Sep 07 11:55:32 debian9 kernel: RSP: 002b:00007ffe914217c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6 Sep 07 11:55:32 debian9 kernel: RAX: 0000000000000000 RBX: 00007fcde5ae8264 RCX: 00007fcde59a57a7 Sep 07 11:55:32 debian9 kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000055b57556cdd0 Sep 07 11:55:32 debian9 kernel: RBP: 000055b57556cba0 R08: 0000000000000000 R09: 00007ffe91420570 Sep 07 11:55:32 debian9 kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 Sep 07 11:55:32 debian9 kernel: R13: 000055b57556cdd0 R14: 000055b57556ccb8 R15: 0000000000000000 Sep 07 11:55:32 debian9 kernel: </TASK> What happens is the following: 1) The cleaner kthread tries to start a transaction to delete an unused block group, but the metadata reservation can not be satisfied right away, so a reservation ticket is created and it starts the async metadata reclaim task (fs_info->async_reclaim_work); 2) Writeback for all the filler inodes with an i_size of 2K starts (generic/562 creates a lot of 2K files with the goal of filling metadata space). We try to create an inline extent for them, but we fail when trying to insert the inline extent with -ENOSPC (at cow_file_range_inline()) - since this is not critical, we fallback to non-inline mode (back to cow_file_range()), reserve extents ---truncated---
- Yayın
- 28 Nis 2024
- Güncelleme
- 17 Haz 2026
- EPSS
- %0,2 · 13. 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
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.
Etkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_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 kernel4.14.120 ve sonrası · 4.15 öncesi
- linux linux kernel4.19.12 ve sonrası · 4.20 öncesi
- linux linux kernel4.20.1 ve sonrası · 5.10.147 öncesi
- linux linux kernel5.11 ve sonrası · 5.15.71 öncesi
- linux linux kernel5.16 ve sonrası · 5.19.12 öncesi
- linux linux kernel4.20
- linux linux kernel6.0
Ü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
- 1ec2bf44c3770b9c3d510b1e78d50cd7fd19e8c5, b4c7c826709b7d882ec9b264d5032e887e6bd720, 4.20etkilenir
- d6fd0ae25c6495674dc5a41a8d16bc8e0073276d ve sonrası · 6ac5b52e3f352f9cb270c89e6e1d4dadb564ddb8 öncesietkilenir · git
- d6fd0ae25c6495674dc5a41a8d16bc8e0073276d ve sonrası · d8a76a2e514fbbb315a6dfff2d342de2de833994 öncesietkilenir · git
- d6fd0ae25c6495674dc5a41a8d16bc8e0073276d ve sonrası · c338bea1fec5504290dc0acf026c9e7dba25004b öncesietkilenir · git
- d6fd0ae25c6495674dc5a41a8d16bc8e0073276d ve sonrası · a362bb864b8db4861977d00bd2c3222503ccc34b öncesietkilenir · git
- 4.14.120 ve sonrası · 4.15 öncesietkilenir · semver
- 4.19.12 ve sonrası · 4.20 öncesietkilenir · semver
- 4.20 öncesietkilenmez · semver
- 5.10.147 ve sonrası · 5.10.* dahil öncesietkilenmez · semver
- 5.15.71 ve sonrası · 5.15.* 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.0.2-1 öncesi | 6.0.2-1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-default-base | 5.3.18-150200.24.209.1.150200.9.109.1 öncesi | 5.3.18-150200.24.209.1.150200.9.109.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-docs | 5.3.18-150200.24.209.2 öncesi | 5.3.18-150200.24.209.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-obs-build | 5.3.18-150200.24.209.1 öncesi | 5.3.18-150200.24.209.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-preempt | 5.3.18-150200.24.209.1 öncesi | 5.3.18-150200.24.209.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-source | 5.3.18-150200.24.209.1 öncesi | 5.3.18-150200.24.209.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-syms | 5.3.18-150200.24.209.1 öncesi | 5.3.18-150200.24.209.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-64kb | 5.3.18-150300.59.182.1 öncesi | 5.3.18-150300.59.182.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default-base | 5.3.18-150300.59.182.1.150300.18.107.1 öncesi | 5.3.18-150300.59.182.1.150300.18.107.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-docs | 5.3.18-150300.59.182.2 öncesi | 5.3.18-150300.59.182.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-obs-build | 5.3.18-150300.59.182.1 öncesi | 5.3.18-150300.59.182.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-preempt | 5.3.18-150300.59.182.1 öncesi | 5.3.18-150300.59.182.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-source | 5.3.18-150300.59.182.1 öncesi | 5.3.18-150300.59.182.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-syms | 5.3.18-150300.59.182.1 öncesi | 5.3.18-150300.59.182.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-64kb | 5.14.21-150400.24.141.1 öncesi | 5.14.21-150400.24.141.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-docs | 5.14.21-150400.24.141.1 öncesi | 5.14.21-150400.24.141.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-obs-build | 5.14.21-150400.24.141.1 öncesi | 5.14.21-150400.24.141.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-source | 5.14.21-150400.24.141.1 öncesi | 5.14.21-150400.24.141.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-syms | 5.14.21-150400.24.141.1 öncesi | 5.14.21-150400.24.141.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kernel-default | 4.12.14-122.250.1 öncesi | 4.12.14-122.250.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kgraft-patch-SLE12-SP5_Update_66 | 1-8.3.1 öncesi | 1-8.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP2 | kernel-default | 5.3.18-150200.24.209.1 öncesi | 5.3.18-150200.24.209.1 |
| SUSE:Linux Enterprise Live Patching 15 SP2 | kernel-livepatch-SLE15-SP2_Update_54 | 1-150200.5.3.1 öncesi | 1-150200.5.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP3 | kernel-default | 5.3.18-150300.59.182.1 öncesi | 5.3.18-150300.59.182.1 |
+37
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 | 4.15 | Üretici (CNA) |
| Linux Linux | 4.20 | Üretici (CNA) |
| Linux Linux | 6ac5b52e3f352f9cb270c89e6e1d4dadb564ddb8 | Üretici (CNA) |
| Linux Linux | a362bb864b8db4861977d00bd2c3222503ccc34b | Üretici (CNA) |
| Linux Linux | c338bea1fec5504290dc0acf026c9e7dba25004b | Üretici (CNA) |
| Linux Linux | d8a76a2e514fbbb315a6dfff2d342de2de833994 | Üretici (CNA) |
| debian:linux | 6.0.2-1 · Debian:12 | Paket deposu (OSV) |
| opensuse:kernel-azure | 5.14.21-150500.33.72.1 · openSUSE:Leap 15.5 | Paket deposu (OSV) |
| opensuse:kernel-rt | 5.14.21-150500.13.76.1 · openSUSE:Leap Micro 5.5 | Paket deposu (OSV) |
| opensuse:kernel-source-azure | 5.14.21-150500.33.72.1 · openSUSE:Leap 15.5 | Paket deposu (OSV) |
| opensuse:kernel-syms-azure | 5.14.21-150500.33.72.1 · openSUSE:Leap 15.5 | Paket deposu (OSV) |
| suse:kernel-azure | 5.14.21-150500.33.72.1 · SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | Paket deposu (OSV) |
| suse:kernel-livepatch-SLE15-SP5-RT_Update_22 | 1-150500.11.3.1 · SUSE:Linux Enterprise Live Patching 15 SP5 | Paket deposu (OSV) |
| suse:kernel-rt | 5.14.21-150500.13.76.1 · SUSE:Linux Enterprise Micro 5.5 | Paket deposu (OSV) |
| suse:kernel-rt_debug | 5.14.21-150500.13.76.1 · SUSE:Real Time Module 15 SP5 | Paket deposu (OSV) |
| suse:kernel-source-azure | 5.14.21-150500.33.72.1 · SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | Paket deposu (OSV) |
| suse:kernel-source-rt | 5.14.21-150500.13.76.1 · SUSE:Linux Enterprise Micro 5.5 | Paket deposu (OSV) |
| suse:kernel-syms-azure | 5.14.21-150500.33.72.1 · SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | Paket deposu (OSV) |
| suse:kernel-syms-rt | 5.14.21-150500.13.76.1 · SUSE:Real Time Module 15 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.
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
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)
—
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.
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/6ac5b52e3f352f9cb270c89e6e1d4dadb564ddb8
- git.kernel.org/stable/c/a362bb864b8db4861977d00bd2c3222503ccc34b
- git.kernel.org/stable/c/c338bea1fec5504290dc0acf026c9e7dba25004b
- git.kernel.org/stable/c/d8a76a2e514fbbb315a6dfff2d342de2de833994
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.