CVE-2026-89471
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: power: supply: cros_usbpd-charger: EC tərəfindən bildirilən port sayına məhdudiyyət qoyuldu cros_usbpd_charger_probe() funksiyası EC-dən iki port sayını oxuyur və sabit ölçülü massiv doldurularkən onlardan birini, num_charger_ports dəyişənini dövrün sərhədi kimi istifadə edir: struct port_data *ports[EC_USB_PD_MAX_PORTS]; /* 8 element */ ... for (i = 0; i < charger->num_charger_ports; i++) charger->ports[charger->num_registered_psy++] = port; Həm num_usbpd_ports (EC_CMD_USB_PD_PORTS-dan), həm də num_charger_ports (EC_CMD_CHARGE_PORT_COUNT-dan) EC tərəfindən bildirilən u8 dəyərləridir. Yeganə yoxlama, EC tərəfindən bildirilən bu iki dəyərin bir-biri ilə müqayisə edildiyi məntiqli yoxlamadır: if (num_charger_ports < num_usbpd_ports || num_charger_ports > num_usbpd_ports + 1) return -EPROTO; Burada heç bir say ports[] massivinin ölçüsü olan EC_USB_PD_MAX_PORTS ilə müqayisə edilmir. Hər hansı N > 8 üçün (məsələn, hər ikisi 255) num_usbpd_ports == num_charger_ports == N olduğunu bildirən nasaz, zərərli və ya kompromisə uğramış EC bu yoxlamadan keçir və daha sonra dövr, devm_kzalloc() vasitəsilə ayrılmış charger_data daxilindəki 8 elementli ports[] massivinə N sayda göstərici yazaraq onu 255 - 8 = 247 elementə (~1976 bayt) qədər aşır: bu, slab out-of-bounds write (slab sərhədləri kənarına yazı) hadisəsidir. ports[] massivinin tutumundan böyük olan port sayı rədd edilir.
Necə düzəltmək olar
- Linux Linux0b5096f6804161b61451b1cec0e38678630be849, c46c9f447415ca802afab51dea1eafc08ddff1c6, a1905375dfc0b9612bbee52fc066e3a70c0d671d, 2746d502b12b343384fb747bdef9cbcfbd7444a2, fd29d08ee487f3bf50f2575aaa74f78a74b09b21, 78be8b7403ff7638162438b664a07d19da76059e, 3d1e01443b221081258ff34ea0cdd0431e4ff62e, 48355ce49359740f52e94d3623f6fc557ce341f0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | f68b883e8fad23ed0ac4756d91594809d78678ed ≤ v < 0b5096f6804161b61451b1cec0e38678630be849, f68b883e8fad23ed0ac4756d91594809d78678ed ≤ v < c46c9f447415ca802afab51dea1eafc08ddff1c6, f68b883e8fad23ed0ac4756d91594809d78678ed ≤ v < a1905375dfc0b9612bbee52fc066e3a70c0d671d, f68b883e8fad23ed0ac4756d91594809d78678ed ≤ v < 2746d502b12b343384fb747bdef9cbcfbd7444a2, f68b883e8fad23ed0ac4756d91594809d78678ed ≤ v < fd29d08ee487f3bf50f2575aaa74f78a74b09b21, f68b883e8fad23ed0ac4756d91594809d78678ed ≤ v < 78be8b7403ff7638162438b664a07d19da76059e, f68b883e8fad23ed0ac4756d91594809d78678ed ≤ v < 3d1e01443b221081258ff34ea0cdd0431e4ff62e, f68b883e8fad23ed0ac4756d91594809d78678ed ≤ v < 48355ce49359740f52e94d3623f6fc557ce341f0, 4.19 | 0b5096f6804161b61451b1cec0e38678630be849, c46c9f447415ca802afab51dea1eafc08ddff1c6, a1905375dfc0b9612bbee52fc066e3a70c0d671d, 2746d502b12b343384fb747bdef9cbcfbd7444a2, fd29d08ee487f3bf50f2575aaa74f78a74b09b21, 78be8b7403ff7638162438b664a07d19da76059e, 3d1e01443b221081258ff34ea0cdd0431e4ff62e, 48355ce49359740f52e94d3623f6fc557ce341f0 |
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.
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.