CVE-2026-11743
Açıklama
SF32LB MPI QSPI NOR flash sürücüsü (drivers/flash/flash_sf32lb_mpi_qspi_nor.c), okuma ve yazma yollarında flash ofsetini ve uzunluğunu (offset + size) > data->size testiyle doğruluyordu. offset işaretli bir off_t, size ise işaretsiz olduğundan, negatif bir offset büyük bir işaretsiz değere dönüştürülür ve toplama, kontrolü geçen küçük bir sonuca sarabilir. Okuma yolu daha sonra memcpy(dst, (void *)(data->base + offset), size) gerçekleştirir ve yazma yolu flash'a offset konumunda programlama yapıp data->base + offset için önbellek geçersiz kılar; her iki durumda da eşlenen flash penceresinin dışındaki belleğe erişilir. Sürücünün silme yolu negatif offsetleri zaten reddediyordu, ancak okuma ve yazma reddetmiyordu. CONFIG_USERSPACE etkin derlemelerde, flash_read ve flash_write, doğrulayıcıları aygıt nesnesini ve çağıranın arabelleğini doğrulayan ancak offset sınır kontrolünü kasıtlı olarak sürücüye devreden sistem çağrılarıdır. Bu nedenle, bu flash aygıtına erişim verilmiş ayrıcalıksız bir iş parçacığı, hazırlanmış negatif bir offset ve kendi bellek alanında geçerli bir arabellekle sistem çağrısını çağırabilir ve kontrol edilmeyen erişime ulaşabilir. En doğrudan etki okuma yolu üzerindedir: saldırgan negatif bir offset ve eşleşen bir size seçerek memcpy kaynağını flash tabanının altına kaydırır ve CPU tarafından adreslenebilen rastgele belleği kendi arabelleğine kopyalayarak okuma yetkisi olmayan belleği ifşa eder. Yazma yolu ayrıca aralık dışı bir adreste flash'a programlama yapılmasına ve saldırganın seçtiği bir önbellek aralığının geçersiz kılınmasına olanak tanıyarak bütünlüğü ve kullanılabilirliği etkiler. Ulaşılabilirlik, kullanıcı alanının etkin olmasını ve ham flash aygıt nesnesinin güvenilmeyen bir iş parçacığına verilmiş olmasını gerektirir. Düzeltme, kontrolü negatif offsetleri reddeden ve her iki yolda da sınır karşılaştırmasını taşma güvenli 64 bit aritmetikle gerçekleştiren qspi_nor_range_is_valid() ile değiştirir ve ayrıca ayrı bir DMA veri yolu askıda kalma durumunu önlemek için bir SRAM DMA ara arabelleği ile kaynak/hedef çakışmasının reddedilmesini ekler.
Nasıl düzeltilir
- zephyrproject zephyr4.4.2 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.3.0 ≤ v < 4.4.2 | 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.
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.