CVE-2026-74276

Naməlum

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: spi: xilinx: bufer ölçüsünü müəyyən etmək üçün FIFO tutumu registrindən istifadə edin Drayverin FIFO ölçüsünü müəyyən etmək üçün istifadə etdiyi metodda problem var. Hazırkı işləmə prinsipi belədir: O, SPI aparatını dayandırır və status registrinə TX FIFO FULL təsdiqlənənə qədər TX FIFO registrinə yazır. Lakin aparatın yalnız FIFO-su yox, həm də bir baytı saxlaya bilən sürüşmə registri (shift register) var. Bu, FIFO-ya bir bayt yazıldıqda (SPI aparatı dayandırılmış halda), TX FIFO EMPTY-nin hələ də boş olduğu zaman görünür. Beləliklə, məsələn, FIFO ölçüsü 16-dırsa, hazırki metod 17 qaytarır. Bu, xüsusilə drayver irq rejimində istifadə edildikdə problem yaradır. TX FIFO üçün müəyyən edilmiş eyni ölçü RX FIFO üçün də qəbul edilir. Bir SPI tranzaksiyası FIFO ölçüsü qədər və ya daha çox bayt yazmaq istədikdə, məsələn, 16 baytlıq FIFO ölçüsü ilə aşağıdakılar baş verir: Drayver SPI aparatını dayandırır, TX FIFO-ya 17 bayt yazır, SPI aparatını başladır və yuxu rejiminə keçir. Aparat daha sonra 17 baytı (FIFO + sürüşmə registri) kənara sürüşdürür və eyni zamanda baytları RX FIFO-ya oxuyur, lakin orada cəmi 16 yer olduğu üçün bir bayt itirilir. Sonra TX FIFO empty təsdiqlənir, drayveri yenidən oyadır, o isə sürətli yol vasitəsilə RX FIFO-dan 16 bayt oxuyur, lakin sonuncu 17-ci baytı (hansı ki, itmişdir) oxumazdan əvvəl bunu edir: sr = xspi->read_fn(xspi->regs + XSPI_SR_OFFSET); if (!(sr & XSPI_SR_RX_EMPTY_MASK)) { xilinx_spi_rx(xspi); rx_words--; } O, status registrini oxuyur və RX FIFO-nun boş olub-olmadığını yoxlayır. Lakin bizim nümunədə o, boşdur. Buna görə də bu yoxlama while dövründə sonsuz fırlanaraq drayveri bloklayır. Bu yamama FIFO ölçüsünün müəyyən edilməsi məntiqini düzəldir.

CiddilikNaməlum
CVSS—
İstismar ehtimalı—
MəhsulLinux
Dərc15 avq 2026
İlk görülmə15 avq 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux4ee65558a7fda463222f5edc631b6d7862218725, e98f589d54068dfcc7da42d9b730e47b84e2991a, 1fc6a6c0cc7796b0c1cf4eec3f0720f422f09273, dfab0d4698a642bab9b895e2e6d240838cfe2cc6, d7ccd8736b67550eca746ed7fa39a36016ff114b, 1c9246a199e19b2fd36e94feed60e55f27103a4f, d1944b71c18e7494756bff1a6f80c25be99eaecb, 47f3b5365536e8c38f264824ab15fdb74454e066 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linux4c9a761402d780b86b9b068aba4ef8e29ed15e99 ≤ v < 4ee65558a7fda463222f5edc631b6d7862218725, 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ≤ v < e98f589d54068dfcc7da42d9b730e47b84e2991a, 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ≤ v < 1fc6a6c0cc7796b0c1cf4eec3f0720f422f09273, 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ≤ v < dfab0d4698a642bab9b895e2e6d240838cfe2cc6, 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ≤ v < d7ccd8736b67550eca746ed7fa39a36016ff114b, 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ≤ v < 1c9246a199e19b2fd36e94feed60e55f27103a4f, 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ≤ v < d1944b71c18e7494756bff1a6f80c25be99eaecb, 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ≤ v < 47f3b5365536e8c38f264824ab15fdb74454e066, 4.04ee65558a7fda463222f5edc631b6d7862218725, e98f589d54068dfcc7da42d9b730e47b84e2991a, 1fc6a6c0cc7796b0c1cf4eec3f0720f422f09273, dfab0d4698a642bab9b895e2e6d240838cfe2cc6, d7ccd8736b67550eca746ed7fa39a36016ff114b, 1c9246a199e19b2fd36e94feed60e55f27103a4f, d1944b71c18e7494756bff1a6f80c25be99eaecb, 47f3b5365536e8c38f264824ab15fdb74454e066

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.

CVE-2026-74276 · Linux · Dark Radar