CVE-2024-49868: btrfs: fix a NULL pointer dereference when failed to start a new trasacntion
Noroxi değerlendirmesi
Öncelik: İzleyin (aksiyon skoru 22/100)
- İzlediğimiz kaynaklarda (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) herkese açık istismar kodu ya da sahada sömürü kaydı yok.
- Önümüzdeki 30 günde sömürülme olasılığı %0,28 (FIRST EPSS).
- 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.
- Düzeltilmiş sürüm: Linux Linux 1282f001cbf56e5dd6e90a18e205a566793f4be0, 37fee9c220b92c3b7bf22b51c51dde5364e7590b, 39356ec0e319ed07627b3a0f402d0608546509e6; azl3 kernel 6.6.51.1-5 on Azure Linux 3.0 6.6.57.1-2; azl3 kernel 6.6.57.1-2 on Azure Linux 3.0 6.6.57.1-2.
Şimdilik düşük öncelik. Linux Linux 1282f001cbf56e5dd6e90a18e205a566793f4be0, 37fee9c220b92c3b7bf22b51c51dde5364e7590b, 39356ec0e319ed07627b3a0f402d0608546509e6; azl3 kernel 6.6.51.1-5 on Azure Linux 3.0 6.6.57.1-2; azl3 kernel 6.6.57.1-2 on Azure Linux 3.0 6.6.57.1-2 ya da daha yeni sürüme yükseltin.
Kaydın verisinden otomatik üretilir: CVSS (NVD ve CNA), CISA KEV ve SSVC, FIRST EPSS, istismar kaynakları, düzeltme sürümleri. Nasıl hesaplıyoruz
Birincil kaynaklar: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix a NULL pointer dereference when failed to start a new trasacntion [BUG] Syzbot reported a NULL pointer dereference with the following crash: FAULT_INJECTION: forcing a failure. start_transaction+0x830/0x1670 fs/btrfs/transaction.c:676 prepare_to_relocate+0x31f/0x4c0 fs/btrfs/relocation.c:3642 relocate_block_group+0x169/0xd20 fs/btrfs/relocation.c:3678 ... BTRFS info (device loop0): balance: ended with status: -12 Oops: general protection fault, probably for non-canonical address 0xdffffc00000000cc: 0000 [#1] PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000660-0x0000000000000667] RIP: 0010:btrfs_update_reloc_root+0x362/0xa80 fs/btrfs/relocation.c:926 Call Trace: <TASK> commit_fs_roots+0x2ee/0x720 fs/btrfs/transaction.c:1496 btrfs_commit_transaction+0xfaf/0x3740 fs/btrfs/transaction.c:2430 del_balance_item fs/btrfs/volumes.c:3678 [inline] reset_balance_state+0x25e/0x3c0 fs/btrfs/volumes.c:3742 btrfs_balance+0xead/0x10c0 fs/btrfs/volumes.c:4574 btrfs_ioctl_balance+0x493/0x7c0 fs/btrfs/ioctl.c:3673 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f [CAUSE] The allocation failure happens at the start_transaction() inside prepare_to_relocate(), and during the error handling we call unset_reloc_control(), which makes fs_info->balance_ctl to be NULL. Then we continue the error path cleanup in btrfs_balance() by calling reset_balance_state() which will call del_balance_item() to fully delete the balance item in the root tree. However during the small window between set_reloc_contrl() and unset_reloc_control(), we can have a subvolume tree update and created a reloc_root for that subvolume. Then we go into the final btrfs_commit_transaction() of del_balance_item(), and into btrfs_update_reloc_root() inside commit_fs_roots(). That function checks if fs_info->reloc_ctl is in the merge_reloc_tree stage, but since fs_info->reloc_ctl is NULL, it results a NULL pointer dereference. [FIX] Just add extra check on fs_info->reloc_ctl inside btrfs_update_reloc_root(), before checking fs_info->reloc_ctl->merge_reloc_tree. That DEAD_RELOC_TREE handling is to prevent further modification to the reloc tree during merge stage, but since there is no reloc_ctl at all, we do not need to bother that.
- Yayın
- 21 Eki 2024
- Güncelleme
- 17 Haz 2026
- EPSS
- %0,2 · 21. yüzdelik
- CWE
- CWE-476
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.
Bu kayıt değişirse haber alın
- KEV'de değil: sahada sömürü kaydı yok
- Herkese açık istismar kodu kaydı yok
- Düzeltme yayımlandı
Bunlardan biri değişirse günlük e-posta özetinde haber veririz.
WordPress siteniz mi var? WP Lens ile ücretsiz tarayın
Noroxi analizi
Sizin ortamınızda ne anlama geliyor?
Yukarıdaki değerlendirme kaydın verisinden otomatik üretilir; ortamınızı bilmez. Bu açığın sizde gerçekten sömürülebilir olup olmadığını ve hangi önlemin yeteceğini ekibimiz sizin sistemlerinizde doğrular.
Bu ürünü kullanıyoruz, yardım isteyinEtkilenen sistemler
Sürümünüz etkileniyor mu?
Ürünü seçip kullandığınız sürümü yazın. Bu kaydın sürüm aralıklarıyla tarayıcınızda karşılaştırılır; sürüm hiçbir yere gönderilmez.
| Ü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’inize sürümle eklerseniz eşleşme bunlarla yapılır.
- linux linux kernel5.10.227 öncesi
- linux linux kernel5.11 ve sonrası · 5.15.168 öncesi
- linux linux kernel5.16 ve sonrası · 6.1.113 öncesi
- linux linux kernel6.2 ve sonrası · 6.6.55 öncesi
- linux linux kernel6.7 ve sonrası · 6.10.14 öncesi
- linux linux kernel6.11 ve sonrası · 6.11.3 öncesi
Ü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
- 3fd0a5585eb98e074fb9934549c8d85c49756c0d ve sonrası · 1282f001cbf56e5dd6e90a18e205a566793f4be0 öncesietkilenir · git
- 3fd0a5585eb98e074fb9934549c8d85c49756c0d ve sonrası · d73d48acf36f57362df7e4f9d76568168bf5e944 öncesietkilenir · git
- 3fd0a5585eb98e074fb9934549c8d85c49756c0d ve sonrası · 37fee9c220b92c3b7bf22b51c51dde5364e7590b öncesietkilenir · git
- 3fd0a5585eb98e074fb9934549c8d85c49756c0d ve sonrası · d13249c0df7aab885acb149695f82c54c0822a70 öncesietkilenir · git
- 3fd0a5585eb98e074fb9934549c8d85c49756c0d ve sonrası · 7ad0c5868f2f0418619089513d95230c66cb7eb4 öncesietkilenir · git
- 3fd0a5585eb98e074fb9934549c8d85c49756c0d ve sonrası · dc02c1440705e3451abd1c2c8114a5c1bb188e9f öncesietkilenir · git
- 3fd0a5585eb98e074fb9934549c8d85c49756c0d ve sonrası · 39356ec0e319ed07627b3a0f402d0608546509e6 öncesietkilenir · git
- 3fd0a5585eb98e074fb9934549c8d85c49756c0d ve sonrası · c3b47f49e83197e8dffd023ec568403bcdbb774b öncesietkilenir · git
- 2.6.35 ö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.115-1 öncesi | 6.1.115-1 |
| Debian:13 | linux | 6.11.4-1 öncesi | 6.11.4-1 |
Aynı üründe
linux: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2026-31431crypto: algif_aead - Revert to operating out-of-placeKEV90Hemen
- 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
Bu üründe bundan önce ve sonra yayımlananlar
- ← ÖncekiCVE-2024-4986621 Eki 2024 · tracing/timerlat: Fix a race during cpuhp processing18İzleyin
- ← ÖncekiCVE-2024-4986721 Eki 2024 · btrfs: wait for fixup workers before stopping cleaner kthread during umount22İzleyin
- Sonraki →CVE-2024-4986921 Eki 2024 · btrfs: send: fix buffer overflow detection when copying path to cache entry31İ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 |
|---|---|---|
| Linux Linux | 1282f001cbf56e5dd6e90a18e205a566793f4be0 | Üretici (CNA) |
| Linux Linux | 37fee9c220b92c3b7bf22b51c51dde5364e7590b | Üretici (CNA) |
| Linux Linux | 39356ec0e319ed07627b3a0f402d0608546509e6 | Üretici (CNA) |
| Linux Linux | 7ad0c5868f2f0418619089513d95230c66cb7eb4 | Üretici (CNA) |
| Linux Linux | c3b47f49e83197e8dffd023ec568403bcdbb774b | Üretici (CNA) |
| Linux Linux | d13249c0df7aab885acb149695f82c54c0822a70 | Üretici (CNA) |
| Linux Linux | d73d48acf36f57362df7e4f9d76568168bf5e944 | Üretici (CNA) |
| Linux Linux | dc02c1440705e3451abd1c2c8114a5c1bb188e9f | Üretici (CNA) |
| azl3 kernel 6.6.51.1-5 on Azure Linux 3.0 | 6.6.57.1-2 · CBL-Mariner Releases | Microsoft (MSRC) |
| azl3 kernel 6.6.57.1-2 on Azure Linux 3.0 | 6.6.57.1-2 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.167.1-2 on CBL Mariner 2.0 | 5.15.173.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.167.1-2 on CBL-Mariner 2.0 | 5.15.173.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.173.1-1 on CBL Mariner 2.0 | 5.15.173.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| debian:linux | 6.1.115-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.
Henüz geçmiş yok (kayıt günlük EPSS işiyle birikir).
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ıklayın, aynı araştırmacının diğer kayıtlarını görün.
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)
CWE-476 · NULL Pointer DereferenceCVSS 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
Tüm referansları göster (9 daha)Daha az göster
- git.kernel.org/stable/c/37fee9c220b92c3b7bf22b51c51dde5364e7590b
- git.kernel.org/stable/c/39356ec0e319ed07627b3a0f402d0608546509e6
- git.kernel.org/stable/c/7ad0c5868f2f0418619089513d95230c66cb7eb4
- git.kernel.org/stable/c/c3b47f49e83197e8dffd023ec568403bcdbb774b
- git.kernel.org/stable/c/d13249c0df7aab885acb149695f82c54c0822a70
- git.kernel.org/stable/c/d73d48acf36f57362df7e4f9d76568168bf5e944
- git.kernel.org/stable/c/dc02c1440705e3451abd1c2c8114a5c1bb188e9f
- lists.debian.org/debian-lts-announce/2025/01/msg00001.html
- lists.debian.org/debian-lts-announce/2025/03/msg00002.html
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.