CVE-2026-89722
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: PCI/sysfs: pci_write_legacy_io() funksiyasındakı sərhədləri aşan oxuma (out-of-bounds read) problemi düzəldildi pci_write_legacy_io() funksiyası, istifadəçi sahəsinin neçə bayt yazdığından asılı olmayaraq, kernfs yazma buferindən 4 baytı yükləyir: if (count != 1 && count != 2 && count != 4) return -EINVAL; return pci_legacy_write(bus, off, *(u32 *)buf, count); kernfs_fop_write_iter() funksiyası buferi kmalloc(len + 1) ilə ayırdığı üçün, legacy_io sysfs faylına edilən 1 baytlıq yazma əməliyyatı 2 bayt ayırır və şərtsiz u32 yükləməsi ayrılan yaddaşın sonundan 2 bayta qədər artıq oxuma edir ki, bu da KASAN tərəfindən slab-out-of-bounds read kimi qeyd edilir. Eynilə, 2 baytlıq yazma zamanı 1 bayt artıq oxunur. Buna görə də, 2 və 4 baytlıq hallar üçün get_unaligned_le16() və get_unaligned_le32() funksiyalarından istifadə etməklə yalnız tələb olunan sayda baytı oxuyun və PCI I/O port sahəsinin bayt sırasına uyğunlaşdırmaq üçün buferi little-endian kimi şərh edin. PowerPC tətbiqi əvvəllər ümumi kodun native-endian 32-bit yükləməsini kompensasiya etmək üçün 1 və 2 baytlıq hallarda dəyəri sürüşdürərək yerinə yerləşdirirdi. Sürüşdürmələr yalnız big-endian nüvələrdə düzgün idi. Little-endian PowerPC (POWER8 və daha yeni versiyalar) sistemlərində onlar yanlış baytları çıxarırdılar, buna görə də 1 baytlıq yazma əməliyyatı tələb olunan dəyər əvəzinə sərhədləri aşan bir bayt yazırdı. Big-endian sistemlərdə isə native yükləmə həmçinin 2 və 4 baytlıq yazmalar zamanı out_le16() və out_le32() funksiyalarının istifadəçinin baytlarını ötürmə zamanı tərsinə çevirməsinə səbəb olurdu. Little-endian köməkçi funksiyaları hər iki problemi həll edir, buna görə də sürüşdürmələr silindi. Alpha platforması üçün heç bir dəyişikliyə ehtiyac yoxdur. legacy_io faylı yalnız root istifadəçisi üçündür və yalnız HAVE_PCI_LEGACY təyin edilmiş iki arxitektura olan Alpha və PowerPC-də mövcuddur.
Necə düzəltmək olar
- Linux Linuxe892f05f1f790d5721cd8e3c561ed76da7e08bae, 7a99e9c7011905734cc2739038f2a224b6be0d1f, dc76258d0132df1d831a5a29758bd448ca9c566e və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < e892f05f1f790d5721cd8e3c561ed76da7e08bae, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 7a99e9c7011905734cc2739038f2a224b6be0d1f, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < dc76258d0132df1d831a5a29758bd448ca9c566e, 2.6.12 | e892f05f1f790d5721cd8e3c561ed76da7e08bae, 7a99e9c7011905734cc2739038f2a224b6be0d1f, dc76258d0132df1d831a5a29758bd448ca9c566e |
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.