İçeriğe atla
Noroxi
CVE-2022-48796· NVD / CVE Programı· CNA Linux

iommu: Fix potential use-after-free during probe

In the Linux kernel, the following vulnerability has been resolved: iommu: Fix potential use-after-free during probe Kasan has reported the following use after free on dev->iommu. when a device probe fails and it is in process of freeing dev->iommu in dev_iommu_free function, a deferred_probe_work_func runs in parallel and tries to access dev->iommu->fwspec in of_iommu_configure path thus causing use after free. BUG: KASAN: use-after-free in of_iommu_configure+0xb4/0x4a4 Read of size 8 at addr ffffff87a2f1acb8 by task kworker/u16:2/153 Workqueue: events_unbound deferred_probe_work_func Call trace: dump_backtrace+0x0/0x33c show_stack+0x18/0x24 dump_stack_lvl+0x16c/0x1e0 print_address_description+0x84/0x39c __kasan_report+0x184/0x308 kasan_report+0x50/0x78 __asan_load8+0xc0/0xc4 of_iommu_configure+0xb4/0x4a4 of_dma_configure_id+0x2fc/0x4d4 platform_dma_configure+0x40/0x5c really_probe+0x1b4/0xb74 driver_probe_device+0x11c/0x228 __device_attach_driver+0x14c/0x304 bus_for_each_drv+0x124/0x1b0 __device_attach+0x25c/0x334 device_initial_probe+0x24/0x34 bus_probe_device+0x78/0x134 deferred_probe_work_func+0x130/0x1a8 process_one_work+0x4c8/0x970 worker_thread+0x5c8/0xaec kthread+0x1f8/0x220 ret_from_fork+0x10/0x18 Allocated by task 1: ____kasan_kmalloc+0xd4/0x114 __kasan_kmalloc+0x10/0x1c kmem_cache_alloc_trace+0xe4/0x3d4 __iommu_probe_device+0x90/0x394 probe_iommu_group+0x70/0x9c bus_for_each_dev+0x11c/0x19c bus_iommu_probe+0xb8/0x7d4 bus_set_iommu+0xcc/0x13c arm_smmu_bus_init+0x44/0x130 [arm_smmu] arm_smmu_device_probe+0xb88/0xc54 [arm_smmu] platform_drv_probe+0xe4/0x13c really_probe+0x2c8/0xb74 driver_probe_device+0x11c/0x228 device_driver_attach+0xf0/0x16c __driver_attach+0x80/0x320 bus_for_each_dev+0x11c/0x19c driver_attach+0x38/0x48 bus_add_driver+0x1dc/0x3a4 driver_register+0x18c/0x244 __platform_driver_register+0x88/0x9c init_module+0x64/0xff4 [arm_smmu] do_one_initcall+0x17c/0x2f0 do_init_module+0xe8/0x378 load_module+0x3f80/0x4a40 __se_sys_finit_module+0x1a0/0x1e4 __arm64_sys_finit_module+0x44/0x58 el0_svc_common+0x100/0x264 do_el0_svc+0x38/0xa4 el0_svc+0x20/0x30 el0_sync_handler+0x68/0xac el0_sync+0x160/0x180 Freed by task 1: kasan_set_track+0x4c/0x84 kasan_set_free_info+0x28/0x4c ____kasan_slab_free+0x120/0x15c __kasan_slab_free+0x18/0x28 slab_free_freelist_hook+0x204/0x2fc kfree+0xfc/0x3a4 __iommu_probe_device+0x284/0x394 probe_iommu_group+0x70/0x9c bus_for_each_dev+0x11c/0x19c bus_iommu_probe+0xb8/0x7d4 bus_set_iommu+0xcc/0x13c arm_smmu_bus_init+0x44/0x130 [arm_smmu] arm_smmu_device_probe+0xb88/0xc54 [arm_smmu] platform_drv_probe+0xe4/0x13c really_probe+0x2c8/0xb74 driver_probe_device+0x11c/0x228 device_driver_attach+0xf0/0x16c __driver_attach+0x80/0x320 bus_for_each_dev+0x11c/0x19c driver_attach+0x38/0x48 bus_add_driver+0x1dc/0x3a4 driver_register+0x18c/0x244 __platform_driver_register+0x88/0x9c init_module+0x64/0xff4 [arm_smmu] do_one_initcall+0x17c/0x2f0 do_init_module+0xe8/0x378 load_module+0x3f80/0x4a40 __se_sys_finit_module+0x1a0/0x1e4 __arm64_sys_finit_module+0x44/0x58 el0_svc_common+0x100/0x264 do_el0_svc+0x38/0xa4 el0_svc+0x20/0x30 el0_sync_handler+0x68/0xac el0_sync+0x160/0x180 Fix this by setting dev->iommu to NULL first and then freeing dev_iommu structure in dev_iommu_free function.

YüksekCVSS 7.8 · v3.1—İstismar yok Düzeltme var
Yayın
16 Tem 2024
Güncelleme
5 Ağu 2026
EPSS
%0,3 · 15. yüzdelik
Bu CVE’yi takip et

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ı

JSON

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,3

CISA SSVC kararı

Sömürü
yok
Otomatikleştirilebilir
hayır
Teknik etki
kısmi

Vulnrichment: CISA'nın karar ağacı girdileri.

CNA ile NVD puanı

NVD
7,8
CNA · Linux
7,8
uyumlu

Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.

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

Etkilenen sistemler

ÜreticiÜrün
linuxlinux 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.7 ve sonrası · 5.10.101 öncesi
  • linux linux kernel5.11 ve sonrası · 5.15.24 öncesi
  • linux linux kernel5.16 ve sonrası · 5.16.10 öncesi
  • linux linux kernel5.17

Ü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

    • 5.3etkilenir
    • 0c830e6b32826311fc2b9ea1f4679be0f4ef0933 ve sonrası · cb86e511e78e796de6947b8f3acca1b7c76fb2ff öncesietkilenir · git
    • 0c830e6b32826311fc2b9ea1f4679be0f4ef0933 ve sonrası · 65ab30f6a6952fa9ee13009862736cf8d110e6e5 öncesietkilenir · git
    • 0c830e6b32826311fc2b9ea1f4679be0f4ef0933 ve sonrası · f74fc4b5bd533ea3d30ce47cccb8ef8d21fda85a öncesietkilenir · git
    • 0c830e6b32826311fc2b9ea1f4679be0f4ef0933 ve sonrası · b54240ad494300ff0994c4539a531727874381f4 öncesietkilenir · git
    • 5.3 öncesietkilenmez · semver
    • 5.10.101 ve sonrası · 5.10.* dahil öncesietkilenmez · semver
    • 5.15.24 ve sonrası · 5.15.* dahil öncesietkilenmez · semver
    • 5.16.10 ve sonrası · 5.16.* dahil öncesietkilenmez · semver
    • 5.17 ve sonrasıetkilenmez · original_commit_for_fix

Paket düzeyi etkilenme

OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.

EkosistemPaketEtkilenen aralıkDüzeltme
Debian:12linux5.16.10-1 öncesi5.16.10-1
Red Hat:rhel_aus:8.6::baseosbpftool0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseosbpftool-debuginfo0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-abi-stablelists0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-core0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-debug0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-debug-core0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-debug-debuginfo0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-debug-devel0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-debug-modules0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-debug-modules-extra0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-debuginfo0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-debuginfo-common-x86_640:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-devel0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-modules0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-modules-extra0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-tools0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-tools-debuginfo0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseoskernel-tools-libs0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseosperf0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseosperf-debuginfo0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseospython3-perf0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6
Red Hat:rhel_aus:8.6::baseospython3-perf-debuginfo0:4.18.0-372.121.1.el8_6 öncesi0:4.18.0-372.121.1.el8_6

+60

Aynı 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 KEV
    89Hemen
  • CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV
    85Hemen
  • 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 haKEV
    83Hemen
  • 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 creKEV
    77Bu 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 addKEV
    77Bu 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 loKEV
    77Bu 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 / paketDüzeltilmiş sürümKaynak
Linux Linux65ab30f6a6952fa9ee13009862736cf8d110e6e5Üretici (CNA)
Linux Linuxb54240ad494300ff0994c4539a531727874381f4Üretici (CNA)
Linux Linuxcb86e511e78e796de6947b8f3acca1b7c76fb2ffÜretici (CNA)
Linux Linuxf74fc4b5bd533ea3d30ce47cccb8ef8d21fda85aÜretici (CNA)
debian:linux5.16.10-1 · Debian:12Paket deposu (OSV)
red hat:bpftool0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:bpftool-debuginfo0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel-abi-stablelists0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel-core0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel-debug0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel-debug-core0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel-debug-debuginfo0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel-debug-devel0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel-debug-modules0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel-debug-modules-extra0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket deposu (OSV)
red hat:kernel-debuginfo0:4.18.0-372.121.1.el8_6 · Red Hat:rhel_aus:8.6::baseosPaket 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.

EPSS son 120 gün

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.

CNA 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
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 Free

CVSS vektörü

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

nvd-primary

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ı

c
free(dev->buf);/* ... başka bir iş parçacığı hâlâ çalışıyor ... */process(dev->buf);

Düzeltilmiş

c
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üğü

  1. Düzeltme✗ → ✓

Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →

Referanslar

Tüm kayıtlar