CVE-2024-53216: nfsd: release svc_expkey/svc_export with rcu_work
Noroxi değerlendirmesi
Öncelik: İzleyin (aksiyon skoru 31/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,22 (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 2e4854599200f4d021df8ae17e69221d7c149f3e, a98fa661769edacd3bf319c4a150f00bea61945b, ad4363a24a5746b257c0beb5d8cc68f9b62c173f.
Şimdilik düşük öncelik. Linux Linux 2e4854599200f4d021df8ae17e69221d7c149f3e, a98fa661769edacd3bf319c4a150f00bea61945b, ad4363a24a5746b257c0beb5d8cc68f9b62c173f 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: nfsd: release svc_expkey/svc_export with rcu_work The last reference for `cache_head` can be reduced to zero in `c_show` and `e_show`(using `rcu_read_lock` and `rcu_read_unlock`). Consequently, `svc_export_put` and `expkey_put` will be invoked, leading to two issues: 1. The `svc_export_put` will directly free ex_uuid. However, `e_show`/`c_show` will access `ex_uuid` after `cache_put`, which can trigger a use-after-free issue, shown below. ================================================================== BUG: KASAN: slab-use-after-free in svc_export_show+0x362/0x430 [nfsd] Read of size 1 at addr ff11000010fdc120 by task cat/870 CPU: 1 UID: 0 PID: 870 Comm: cat Not tainted 6.12.0-rc3+ #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.1-2.fc37 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x53/0x70 print_address_description.constprop.0+0x2c/0x3a0 print_report+0xb9/0x280 kasan_report+0xae/0xe0 svc_export_show+0x362/0x430 [nfsd] c_show+0x161/0x390 [sunrpc] seq_read_iter+0x589/0x770 seq_read+0x1e5/0x270 proc_reg_read+0xe1/0x140 vfs_read+0x125/0x530 ksys_read+0xc1/0x160 do_syscall_64+0x5f/0x170 entry_SYSCALL_64_after_hwframe+0x76/0x7e Allocated by task 830: kasan_save_stack+0x20/0x40 kasan_save_track+0x14/0x30 __kasan_kmalloc+0x8f/0xa0 __kmalloc_node_track_caller_noprof+0x1bc/0x400 kmemdup_noprof+0x22/0x50 svc_export_parse+0x8a9/0xb80 [nfsd] cache_do_downcall+0x71/0xa0 [sunrpc] cache_write_procfs+0x8e/0xd0 [sunrpc] proc_reg_write+0xe1/0x140 vfs_write+0x1a5/0x6d0 ksys_write+0xc1/0x160 do_syscall_64+0x5f/0x170 entry_SYSCALL_64_after_hwframe+0x76/0x7e Freed by task 868: kasan_save_stack+0x20/0x40 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3b/0x60 __kasan_slab_free+0x37/0x50 kfree+0xf3/0x3e0 svc_export_put+0x87/0xb0 [nfsd] cache_purge+0x17f/0x1f0 [sunrpc] nfsd_destroy_serv+0x226/0x2d0 [nfsd] nfsd_svc+0x125/0x1e0 [nfsd] write_threads+0x16a/0x2a0 [nfsd] nfsctl_transaction_write+0x74/0xa0 [nfsd] vfs_write+0x1a5/0x6d0 ksys_write+0xc1/0x160 do_syscall_64+0x5f/0x170 entry_SYSCALL_64_after_hwframe+0x76/0x7e 2. We cannot sleep while using `rcu_read_lock`/`rcu_read_unlock`. However, `svc_export_put`/`expkey_put` will call path_put, which subsequently triggers a sleeping operation due to the following `dput`. ============================= WARNING: suspicious RCU usage 5.10.0-dirty #141 Not tainted ----------------------------- ... Call Trace: dump_stack+0x9a/0xd0 ___might_sleep+0x231/0x240 dput+0x39/0x600 path_put+0x1b/0x30 svc_export_put+0x17/0x80 e_show+0x1c9/0x200 seq_read_iter+0x63f/0x7c0 seq_read+0x226/0x2d0 vfs_read+0x113/0x2c0 ksys_read+0xc9/0x170 do_syscall_64+0x33/0x40 entry_SYSCALL_64_after_hwframe+0x67/0xd1 Fix these issues by using `rcu_work` to help release `svc_expkey`/`svc_export`. This approach allows for an asynchronous context to invoke `path_put` and also facilitates the freeing of `uuid/exp/key` after an RCU grace period.
- Yayın
- 27 Ara 2024
- Güncelleme
- 30 Eki 2026
- EPSS
- %0,2 · 12. yüzdelik
- CWE
- CWE-416
Rapor araçları
Aksiyon skoru
31
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 31 / 40 · 7.8 / 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
- tam
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- —
- CNA · Linux
- 7,8
- NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
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 kernel4.20 ve sonrası · 6.6.64 öncesi
- linux linux kernel6.7 ve sonrası · 6.11.11 öncesi
- linux linux kernel6.12 ve sonrası · 6.12.2 ö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
- 4.20etkilenir
- 9ceddd9da13434a5906255c0fc528c385aded283 ve sonrası · a98fa661769edacd3bf319c4a150f00bea61945b öncesietkilenir · git
- 9ceddd9da13434a5906255c0fc528c385aded283 ve sonrası · bd8524148dd8c123334b066faa90590ba2ef8e6f öncesietkilenir · git
- 9ceddd9da13434a5906255c0fc528c385aded283 ve sonrası · 2e4854599200f4d021df8ae17e69221d7c149f3e öncesietkilenir · git
- 9ceddd9da13434a5906255c0fc528c385aded283 ve sonrası · ad4363a24a5746b257c0beb5d8cc68f9b62c173f öncesietkilenir · git
- 9ceddd9da13434a5906255c0fc528c385aded283 ve sonrası · f8c989a0c89a75d30f899a7cabdc14d72522bb8d öncesietkilenir · git
- 4.20 öncesietkilenmez · semver
- 6.1.191 ve sonrası · 6.1.* dahil öncesietkilenmez · semver
- 6.6.64 ve sonrası · 6.6.* dahil öncesietkilenmez · semver
- 6.11.11 ve sonrası · 6.11.* 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 |
|---|---|---|---|
| AlmaLinux:10 | kernel | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-core | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-core | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-devel | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-devel-matched | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-modules | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-modules-core | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-debug-modules-extra | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-devel | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-devel-matched | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-modules | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-modules-core | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-64k-modules-extra | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-abi-stablelists | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-core | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-cross-headers | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-core | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-devel | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-devel-matched | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-modules | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
| AlmaLinux:10 | kernel-debug-modules-core | 6.12.0-124.8.1.el10_1 öncesi | 6.12.0-124.8.1.el10_1 |
+96
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-5320127 Ara 2024 · drm/amd/display: Fix null check for pipe_ctx->plane_state in dcn20_program_pipe22İzleyin
- ← ÖncekiCVE-2024-5320927 Ara 2024 · bnxt_en: Fix receive ring space parameters when XDP is active22İzleyin
- Sonraki →CVE-2024-5321727 Ara 2024 · NFSD: Prevent NULL dereference in nfsd4_process_cb_update()22İ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 | 2e4854599200f4d021df8ae17e69221d7c149f3e | Üretici (CNA) |
| Linux Linux | a98fa661769edacd3bf319c4a150f00bea61945b | Üretici (CNA) |
| Linux Linux | ad4363a24a5746b257c0beb5d8cc68f9b62c173f | Üretici (CNA) |
| Linux Linux | bd8524148dd8c123334b066faa90590ba2ef8e6f | Üretici (CNA) |
| Linux Linux | f8c989a0c89a75d30f899a7cabdc14d72522bb8d | Üretici (CNA) |
| almalinux:kernel | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-core | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-core | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-devel | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-devel-matched | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules-core | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules-extra | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-devel | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-devel-matched | 6.12.0-124.8.1.el10_1 · AlmaLinux:10 | Paket deposu (OSV) |
| debian:linux | 6.12.3-1 · Debian:13 | Paket deposu (OSV) |
| red hat:kernel-64k-debug-debuginfo | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-64k-debug-devel | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-64k-debug-devel-matched | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-64k-debuginfo | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-64k-devel | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-64k-devel-matched | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-debug-debuginfo | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-debug-devel | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-debug-devel-matched | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-debuginfo | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-debuginfo-common-aarch64 | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
| red hat:kernel-debuginfo-common-ppc64le | 0:6.12.0-124.8.1.el10_1 · Red Hat:enterprise_linux:10.1 | Paket deposu (OSV) |
+1
İ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
- yüksek · veriler okunabilir
- Bütünlük
- yüksek · veri ya da yapılandırma değiştirilebilir
- 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
- Yüksek
- Bütünlük etkisi
- Yüksek
- Erişilebilirlik etkisi
- Yüksek
Zayıflık sınıfı (CWE)
CWE-416 · Use After FreeCVSS vektörü
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Kök neden
Bir bellek alanı serbest bırakıldıktan sonra ona işaret eden başka bir referans kullanılmaya devam ediyor. Aynı alan o sırada başka bir veri için ayrılmış olabilir.
Hatanın kod karşılığı
CWE-416 sınıfının tamamıBu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.
Hatalı
free(dev->buf);
/* ... başka bir iş parçacığı hâlâ çalışıyor ... */
process(dev->buf);Düzeltilmiş
lock(&dev->lock);
free(dev->buf);
dev->buf = NULL;
unlock(&dev->lock);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 (4 daha)Daha az göster
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.