powerpc/pseries/iommu: IOMMU table is not initialized for kdump over SR-IOV
In the Linux kernel, the following vulnerability has been resolved: powerpc/pseries/iommu: IOMMU table is not initialized for kdump over SR-IOV When kdump kernel tries to copy dump data over SR-IOV, LPAR panics due to NULL pointer exception: Kernel attempted to read user page (0) - exploit attempt? (uid: 0) BUG: Kernel NULL pointer dereference on read at 0x00000000 Faulting instruction address: 0xc000000020847ad4 Oops: Kernel access of bad area, sig: 11 [#1] LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries Modules linked in: mlx5_core(+) vmx_crypto pseries_wdt papr_scm libnvdimm mlxfw tls psample sunrpc fuse overlay squashfs loop CPU: 12 PID: 315 Comm: systemd-udevd Not tainted 6.4.0-Test102+ #12 Hardware name: IBM,9080-HEX POWER10 (raw) 0x800200 0xf000006 of:IBM,FW1060.00 (NH1060_008) hv:phyp pSeries NIP: c000000020847ad4 LR: c00000002083b2dc CTR: 00000000006cd18c REGS: c000000029162ca0 TRAP: 0300 Not tainted (6.4.0-Test102+) MSR: 800000000280b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE> CR: 48288244 XER: 00000008 CFAR: c00000002083b2d8 DAR: 0000000000000000 DSISR: 40000000 IRQMASK: 1 ... NIP _find_next_zero_bit+0x24/0x110 LR bitmap_find_next_zero_area_off+0x5c/0xe0 Call Trace: dev_printk_emit+0x38/0x48 (unreliable) iommu_area_alloc+0xc4/0x180 iommu_range_alloc+0x1e8/0x580 iommu_alloc+0x60/0x130 iommu_alloc_coherent+0x158/0x2b0 dma_iommu_alloc_coherent+0x3c/0x50 dma_alloc_attrs+0x170/0x1f0 mlx5_cmd_init+0xc0/0x760 [mlx5_core] mlx5_function_setup+0xf0/0x510 [mlx5_core] mlx5_init_one+0x84/0x210 [mlx5_core] probe_one+0x118/0x2c0 [mlx5_core] local_pci_probe+0x68/0x110 pci_call_probe+0x68/0x200 pci_device_probe+0xbc/0x1a0 really_probe+0x104/0x540 __driver_probe_device+0xb4/0x230 driver_probe_device+0x54/0x130 __driver_attach+0x158/0x2b0 bus_for_each_dev+0xa8/0x130 driver_attach+0x34/0x50 bus_add_driver+0x16c/0x300 driver_register+0xa4/0x1b0 __pci_register_driver+0x68/0x80 mlx5_init+0xb8/0x100 [mlx5_core] do_one_initcall+0x60/0x300 do_init_module+0x7c/0x2b0 At the time of LPAR dump, before kexec hands over control to kdump kernel, DDWs (Dynamic DMA Windows) are scanned and added to the FDT. For the SR-IOV case, default DMA window "ibm,dma-window" is removed from the FDT and DDW added, for the device. Now, kexec hands over control to the kdump kernel. When the kdump kernel initializes, PCI busses are scanned and IOMMU group/tables created, in pci_dma_bus_setup_pSeriesLP(). For the SR-IOV case, there is no "ibm,dma-window". The original commit: b1fc44eaa9ba, fixes the path where memory is pre-mapped (direct mapped) to the DDW. When TCEs are direct mapped, there is no need to initialize IOMMU tables. iommu_table_setparms_lpar() only considers "ibm,dma-window" property when initiallizing IOMMU table. In the scenario where TCEs are dynamically allocated for SR-IOV, newly created IOMMU table is not initialized. Later, when the device driver tries to enter TCEs for the SR-IOV device, NULL pointer execption is thrown from iommu_area_alloc(). The fix is to initialize the IOMMU table with DDW property stored in the FDT. There are 2 points to remember: 1. For the dedicated adapter, kdump kernel would encounter both default and DDW in FDT. In this case, DDW property is used to initialize the IOMMU table. 2. A DDW could be direct or dynamic mapped. kdump kernel would initialize IOMMU table and mark the existing DDW as "dynamic". This works fine since, at the time of table initialization, iommu_table_clear() makes some space in the DDW, for some predefined number of TCEs which are needed for kdump to succeed.
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- Yayın
- 4 Nis 2024
- Güncelleme
- 17 Haz 2026
- EPSS
- %0,2 · 11. yüzdelik
- CWE
- CWE-476
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
17
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 17 / 40 · 4.4 / 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 kernel5.19.2 ve sonrası · 6.1.81 öncesi
- linux linux kernel6.2 ve sonrası · 6.6.21 öncesi
- linux linux kernel6.7 ve sonrası · 6.7.9 öncesi
- linux linux kernel5.18.18
- 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
- b9f08b2649dddd4eb0698cb428b173bb01dd2fc5, 58942f672c6d04b6a3cd7866cb459671df881538, 6.0etkilenir
- b1fc44eaa9ba31e28c4125d6b9205a3582b47b5d ve sonrası · 7eb95e0af5c9c2e6fad50356eaf32d216d0e7bc3 öncesietkilenir · git
- b1fc44eaa9ba31e28c4125d6b9205a3582b47b5d ve sonrası · d4d1e4b1513d975961de7bb4f75e450a92d65ebf öncesietkilenir · git
- b1fc44eaa9ba31e28c4125d6b9205a3582b47b5d ve sonrası · 5da6d306f315344af1ca2eff4bd9b10b130f0c28 öncesietkilenir · git
- b1fc44eaa9ba31e28c4125d6b9205a3582b47b5d ve sonrası · 09a3c1e46142199adcee372a420b024b4fc61051 öncesietkilenir · git
- 5.18.18 ve sonrası · 5.19 öncesietkilenir · semver
- 5.19.2 ve sonrası · 5.20 öncesietkilenir · semver
- 6.0 öncesietkilenmez · semver
- 6.1.81 ve sonrası · 6.1.* dahil öncesietkilenmez · semver
- 6.6.21 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.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Debian:12 | linux | 6.1.82-1 öncesi | 6.1.82-1 |
| Debian:13 | linux | 6.7.9-1 öncesi | 6.7.9-1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-64kb | 5.14.21-150400.24.125.1 öncesi | 5.14.21-150400.24.125.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-docs | 5.14.21-150400.24.125.1 öncesi | 5.14.21-150400.24.125.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-obs-build | 5.14.21-150400.24.125.1 öncesi | 5.14.21-150400.24.125.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-source | 5.14.21-150400.24.125.1 öncesi | 5.14.21-150400.24.125.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-syms | 5.14.21-150400.24.125.1 öncesi | 5.14.21-150400.24.125.1 |
| SUSE:Linux Enterprise Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_28 | 1-150400.9.3.1 öncesi | 1-150400.9.3.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-default | 5.14.21-150400.24.125.1 öncesi | 5.14.21-150400.24.125.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-default-base | 5.14.21-150400.24.125.1.150400.24.60.1 öncesi | 5.14.21-150400.24.125.1.150400.24.60.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-rt | 5.14.21-150400.15.85.1 öncesi | 5.14.21-150400.15.85.1 |
| SUSE:Linux Enterprise Micro 5.3 | kernel-source-rt | 5.14.21-150400.15.85.1 öncesi | 5.14.21-150400.15.85.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | kernel-zfcpdump | 5.14.21-150400.24.125.1 öncesi | 5.14.21-150400.24.125.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 | 09a3c1e46142199adcee372a420b024b4fc61051 | Üretici (CNA) |
| Linux Linux | 5.19 | Üretici (CNA) |
| Linux Linux | 5.20 | Üretici (CNA) |
| Linux Linux | 5da6d306f315344af1ca2eff4bd9b10b130f0c28 | Üretici (CNA) |
| Linux Linux | 7eb95e0af5c9c2e6fad50356eaf32d216d0e7bc3 | Üretici (CNA) |
| Linux Linux | d4d1e4b1513d975961de7bb4f75e450a92d65ebf | Üretici (CNA) |
| debian:linux | 6.1.82-1 · Debian:12 | Paket deposu (OSV) |
| suse:kernel-64kb | 5.14.21-150400.24.125.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | Paket deposu (OSV) |
| suse:kernel-default | 5.14.21-150400.24.125.1 · SUSE:Linux Enterprise Micro 5.3 | Paket deposu (OSV) |
| suse:kernel-default-base | 5.14.21-150400.24.125.1.150400.24.60.1 · SUSE:Linux Enterprise Micro 5.3 | Paket deposu (OSV) |
| suse:kernel-docs | 5.14.21-150400.24.125.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | Paket deposu (OSV) |
| suse:kernel-livepatch-SLE15-SP4_Update_28 | 1-150400.9.3.1 · SUSE:Linux Enterprise Live Patching 15 SP4 | Paket deposu (OSV) |
| suse:kernel-obs-build | 5.14.21-150400.24.125.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | Paket deposu (OSV) |
| suse:kernel-rt | 5.14.21-150400.15.85.1 · SUSE:Linux Enterprise Micro 5.3 | Paket deposu (OSV) |
| suse:kernel-source | 5.14.21-150400.24.125.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | Paket deposu (OSV) |
| suse:kernel-source-rt | 5.14.21-150400.15.85.1 · SUSE:Linux Enterprise Micro 5.3 | Paket deposu (OSV) |
| suse:kernel-syms | 5.14.21-150400.24.125.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | Paket deposu (OSV) |
| suse:kernel-zfcpdump | 5.14.21-150400.24.125.1 · SUSE:Linux Enterprise Server 15 SP4-LTSS | 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.
- Yönetici yetkisi gerekir.
- 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
- Yüksek
- 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:H/UI:N/S:U/C:N/I:N/A:H
nvd-secondary
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/09a3c1e46142199adcee372a420b024b4fc61051
- git.kernel.org/stable/c/5da6d306f315344af1ca2eff4bd9b10b130f0c28
- git.kernel.org/stable/c/7eb95e0af5c9c2e6fad50356eaf32d216d0e7bc3
- git.kernel.org/stable/c/d4d1e4b1513d975961de7bb4f75e450a92d65ebf
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.