CVE-2022-49900

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: i2c: piix4: piix4_remove() funksiyasında adapterin silinməməsi problemi düzəldildi piix4_probe() funksiyasında piix4 adapteri burada qeydiyyata alınacaq: piix4_probe() piix4_add_adapters_sb800() / piix4_add_adapter() i2c_add_adapter() Yoxlanılan cihaz tipindən asılı olaraq, piix4_add_adapters_sb800() və ya tək piix4_add_adapter() çağırılacaq. Birinci halda, piix4_adapter_count adapterlərin sayı kimi təyin edilir, digər halda isə təyin edilmir və standart olaraq sıfır (*zero*) qalır. piix4 silindikdə, piix4_remove() funksiyası piix4_adapter_count dəyərinə əsaslanaraq piix4_probe()-də əlavə edilmiş adapterləri silir. Tək adapter halında say sıfır olduğu üçün adapter silinmir və bu da adapter üçün ayrılmış resursların, məsələn, i2c klientinin və cihazının sızmasına (leak) səbəb olur. Bu resurslara hələ də i2c və ya şin (bus) vasitəsilə daxil olmaq mümkündür və bu problemlərə yol açır. Asanlıqla təkrar olunan bir nümunə belədir ki, yeni adapter qeydiyyatdan keçdikdə, i2c sızmış adapteri götürəcək və artıq azad edilmiş smbus_algorithm funksiyasını çağırmağa çalışacaq: Tətikləyici: rmmod i2c_piix4 && modprobe max31730 BUG: unable to handle page fault for address: ffffffffc053d860 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page Oops: 0000 [#1] PREEMPT SMP KASAN CPU: 0 PID: 3752 Comm: modprobe Tainted: G Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:i2c_default_probe (drivers/i2c/i2c-core-base.c:2259) i2c_core RSP: 0018:ffff888107477710 EFLAGS: 00000246 ... <TASK> i2c_detect (drivers/i2c/i2c-core-base.c:2302) i2c_core __process_new_driver (drivers/i2c/i2c-core-base.c:1336) i2c_core bus_for_each_dev (drivers/base/bus.c:301) i2c_for_each_dev (drivers/i2c/i2c-core-base.c:1823) i2c_core i2c_register_driver (drivers/i2c/i2c-core-base.c:1861) i2c_core do_one_initcall (init/main.c:1296) do_init_module (kernel/module/main.c:2455) ... </TASK> ---[ end trace 0000000000000000 ]--- Bu problem, tək adapter üçün piix4_adapter_count dəyərinin düzgün şəkildə 1 olaraq təyin edilməsi ilə həll edilmişdir ki, beləliklə o normal şəkildə silinə bilsin.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc1 may 2025
İlk görülmə1 may 2025
Zəiflik növüCWE-415CWE-415

Necə düzəltmək olar

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel5.4 ≤ v < 5.10.154, 5.11 ≤ v < 5.15.78, 5.16 ≤ v < 6.0.8, 6.15.10.154, 5.15.78, 6.0.8

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.