CVE-2026-79978

Düşük

Açıklama

drivers/sensor/adi/adxl345/adxl345_stream.c dosyasındaki RTIO akış tamamlama geri çağırma fonksiyonu adxl345_process_fifo_samples_cb(), raporlayacağı FIFO veri miktarını (read_len = MIN(fifo_bytes, buf_avail)), rtio_sqe_rx_buf() tarafından döndürülen gerçek alanla sınırlar; ancak daha sonra, sınırlama yerine cihaz tarafından bildirilen giriş sayısına bağlı kalarak, read_buf üzerindeki ardışık ofsetlerden donanım FIFO girişi başına bir adet 6 baytlık yol okuması kuyruğa ekler. Tahsis edilen tampon bellek tam bir paketten küçük olduğunda, sürücü tahsisatın sonunun ötesine 186 bayta kadar yazar; beraberindeki bir hata, paket başlangıcında data->fifo_total_bytes değerinin sıfırlanmamasına neden olur, bu nedenle iptal edilen veya hatalı bir zincir, bir sonraki paketin yazmalarını da sınırların dışına iten güncelliğini yitirmiş bir yazma ofseti bırakabilir. Kısa bir tampon bellek, RTIO ayırıcısının beklenen ve temel bir sonucudur: rtio_block_pool_alloc(), bitişik bir alan mevcut olana kadar istenen boyutu her seferinde bir blok azaltarak kontrol eder ve sürücü minimum olarak yalnızca sizeof(struct adxl345_fifo_data) + 6 bayt talep eder. Mempool blok granülaritesi tam bir FIFO paketinden (204 bayt) daha küçük olan herhangi bir akış yapılandırması — örneğin, fifo_wm dahil olmak üzere sensor stream <dev> tarafından kullanılan sensör kabuğundaki RTIO_DEFINE_WITH_MEMPOOL(sensor_read_rtio, 8, 8, 32, 64, 4) veya dokümantasyondaki 16 baytlık blok akış örneği —, havuz parçalandığında veya tüketen iş parçacığı geride kaldığında bu yolu izler. Sınır dışı yazmalar, I2C/SPI RTIO arka ucu (birçok SoC üzerinde DMA) tarafından paylaşılan RTIO blok havuzuna gerçekleştirilir ve komşu canlı tamponları veya tek bir paketten daha küçük bir havuz için havuzun ötesindeki belleği bozar. Yazılan baytlar ivmeölçer örnekleridir ve hedef tahsisatı takip eder, dolayısıyla kontrol edilebilir bir bozma primi yoktur: gerçekçi etkisi diğer RTIO tüketicilerinin verilerinin sessizce bozulması veya sistem çökmesidir. Bu duruma ulaşmak için CONFIG_ADXL345_STREAM ile oluşturulmuş, kesme hattına sahip bir ADXL345 içeren bir kart ve birlikte çalışan yerel bir iş yükünün tetikleyebileceği veya yük altında kendiliğinden oluşabilen tampon havuzu yetersizliği gerekir; bu koda giden herhangi bir ağ, USB veya radyo yolu bulunmamaktadır.

ÖnemDüşük
CVSS3.6
İstismar olasılığı—
ÜrünZephyr
Yayın23 Eki 2026
İlk görülme23 Eki 2026

Nasıl düzeltilir

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
zephyrproject zephyr4.0.0 ≤ v ≤ 4.4.2—

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.

Intelligence 360 paketinde

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.