CVE-2026-10683
Açıklama
Synopsys DesignWare I2C sürücüsünde (drivers/i2c/i2c_dw.c) target/slave modunda çalışırken, rx_full kesme işleyicisi write_requested() geri çağrısını dw->state != CMD_SEND koşuluna bağlar ve dw->state yalnızca bir STOP kesmesinde READY olarak sıfırlanır. i2c_dw_slave_read_clear_intr_bits() içindeki işleyicisi her (yeniden) START'ta durumu sıfırlayacak olan START_DET kesmesi, i2c_dw_slave_register() içindeki etkin kesme maskesine hiçbir zaman eklenmemiştir; bu nedenle söz konusu kurtarma yolu ölü koddur. Sonuç olarak, STOP kesmesi kaybolursa (veri yolu kıvılcımı/sıfırlaması veya eşzamanlı bir master'ın STOP sürmesi) ya da veri yolu master'ı aynı yönde yasal bir WRITE-repeated-START-WRITE dizisi başlatırsa, sürücü kalıcı olarak CMD_SEND durumunda kalır ve target'ın ömrü boyunca write_requested() işlevini bir daha çağırmaz. Aynı fiziksel veri yolu üzerindeki bir I2C master bunu kasıtlı olarak tetikleyebilir; bu da I2C target işlevinin sonraki tüm yazma işlemleri için arızalanmasına ve tüketici çerçeveleme durumunun (ör. MCTP-over-I2C) senkronizasyonunun bozulmasına yol açarak target çevre biriminde sıfırlama ile kurtarılabilir bir hizmet reddine neden olur. Düzeltme, durumun her veri yolu (yeniden) START'ında sıfırlanması için START_DET'in maskesini kaldırır. Etki yalnızca yerel kart düzeyindeki veri yolu üzerinden kullanılabilirlik ile sınırlıdır; ağaç içi tüketicide, bayt başına arabellek yazımı bağımsız olarak sınır denetiminden geçtiğinden herhangi bir bellek bozulması oluşmaz.
Nasıl düzeltilir
- zephyrproject zephyr4.5.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| zephyrproject zephyr | 4.0.0 ≤ v < 4.5.0 | 4.5.0 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.