spi: xilinx: use FIFO occupancy register to determine buffer size
In the Linux kernel, the following vulnerability has been resolved: spi: xilinx: use FIFO occupancy register to determine buffer size The method the driver uses to determine the size of the FIFO has a problem. What it currently does is this: It stops the SPI hardware and writes to the TX FIFO register until TX FIFO FULL asserts in the status register. But the hardware does not only have the FIFO, it also has a shift register which can hold a byte. This can be seen, when writing a byte to the FIFO (while the SPI hardware is stopped,) the TX FIFO EMPTY is still empty. So, if we have a FIFO size of 16 for example, the current method returns a 17. This is a problem, at least when using the driver in irq mode. The same size determined for the TX FIFO is also assumed for the RX FIFO. When a SPI transaction wants to write the amount of the FIFO size or more bytes, the following happens, for example with 16 bytes FIFO size: The driver stops the SPI hardware and writes 17 bytes to the TX FIFO and starts the SPI hardware and goes sleep. The hardware then shifts out 17 bytes (FIFO + shift register) and simultaneously reads bytes into the RX FIFO, but it only has 16 places, so it looses one byte. Then TX FIFO empty asserts, wakes the driver again, which has a fast path and reads 16 bytes from the RX FIFO, but before reading the last 17th byte (which is lost) it does this: sr = xspi->read_fn(xspi->regs + XSPI_SR_OFFSET); if (!(sr & XSPI_SR_RX_EMPTY_MASK)) { xilinx_spi_rx(xspi); rx_words--; } It reads the status register and checks if the RX FIFO is not empty. But it is empty in our case. So this check spins in a while loop forever locking the driver. This patch fixes the logic to determine the FIFO size.
- Yayın
- 15 Ağu 2026
- Güncelleme
- 17 Ağu 2026
- EPSS
- %0,2 · 11. yüzdelik
- CWE
- —
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ı
Aksiyon skoru
0
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 0 / 40 · —
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,2
Etkilenen sistemler
—
Ü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
- 4.0etkilenir
- 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ve sonrası · 4ee65558a7fda463222f5edc631b6d7862218725 öncesietkilenir · git
- 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ve sonrası · e98f589d54068dfcc7da42d9b730e47b84e2991a öncesietkilenir · git
- 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ve sonrası · 1fc6a6c0cc7796b0c1cf4eec3f0720f422f09273 öncesietkilenir · git
- 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ve sonrası · dfab0d4698a642bab9b895e2e6d240838cfe2cc6 öncesietkilenir · git
- 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ve sonrası · d7ccd8736b67550eca746ed7fa39a36016ff114b öncesietkilenir · git
- 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ve sonrası · 1c9246a199e19b2fd36e94feed60e55f27103a4f öncesietkilenir · git
- 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ve sonrası · d1944b71c18e7494756bff1a6f80c25be99eaecb öncesietkilenir · git
- 4c9a761402d780b86b9b068aba4ef8e29ed15e99 ve sonrası · 47f3b5365536e8c38f264824ab15fdb74454e066 öncesietkilenir · git
- 4.0 öncesietkilenmez · semver
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Debian:12 | linux | 6.1.180-1 öncesi | 6.1.180-1 |
| Debian:13 | linux | 6.12.100-1 öncesi | 6.12.100-1 |
| Debian:14 | linux | 7.1.5-1 öncesi | 7.1.5-1 |
Aynı üründe
linux: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation40Planlayın
- CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment40Planlayın
- CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()40Planlayın
- CVE-2026-74309vdpa/octeon_ep: fix IRQ-to-ring mapping in interrupt handler40Planlayın
- CVE-2026-74280crypto: marvell/octeontx - fix DMA cleanup using wrong loop index40Planlayın
- CVE-2026-74279crypto: cavium/cpt - fix DMA cleanup using wrong loop index40Planlayın
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 / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| Linux Linux | 1c9246a199e19b2fd36e94feed60e55f27103a4f | Üretici (CNA) |
| Linux Linux | 1fc6a6c0cc7796b0c1cf4eec3f0720f422f09273 | Üretici (CNA) |
| Linux Linux | 47f3b5365536e8c38f264824ab15fdb74454e066 | Üretici (CNA) |
| Linux Linux | 4ee65558a7fda463222f5edc631b6d7862218725 | Üretici (CNA) |
| Linux Linux | d1944b71c18e7494756bff1a6f80c25be99eaecb | Üretici (CNA) |
| Linux Linux | d7ccd8736b67550eca746ed7fa39a36016ff114b | Üretici (CNA) |
| Linux Linux | dfab0d4698a642bab9b895e2e6d240838cfe2cc6 | Üretici (CNA) |
| Linux Linux | e98f589d54068dfcc7da42d9b730e47b84e2991a | Üretici (CNA) |
| debian:linux | 6.1.180-1 · Debian:12 | Paket 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.
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.
Kredi
Tüm araştırmacılarCNA 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
Bu kayıt için CVSS vektörü yok; saldırı koşulları çıkarılamıyor.
Zayıflık sınıfı (CWE)
—
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.
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla 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 isteyinDeğişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- git.kernel.org/stable/c/1c9246a199e19b2fd36e94feed60e55f27103a4f
- git.kernel.org/stable/c/1fc6a6c0cc7796b0c1cf4eec3f0720f422f09273
- git.kernel.org/stable/c/47f3b5365536e8c38f264824ab15fdb74454e066
- git.kernel.org/stable/c/4ee65558a7fda463222f5edc631b6d7862218725
- git.kernel.org/stable/c/d1944b71c18e7494756bff1a6f80c25be99eaecb
- git.kernel.org/stable/c/d7ccd8736b67550eca746ed7fa39a36016ff114b
- git.kernel.org/stable/c/dfab0d4698a642bab9b895e2e6d240838cfe2cc6
- git.kernel.org/stable/c/e98f589d54068dfcc7da42d9b730e47b84e2991a
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.