CVE-2026-12634
Açıklama
Zephyr ayarlar alt sisteminin NVS arka ucu (subsys/settings/src/settings_nvs.c), saklanan ayar adı girişlerini sabit 74 baytlık yığın tamponlarına okur ve bunları `buf[rc] = '\0'` ile NUL sonlandırır; burada `rc`, `nvs_read()` fonksiyonunun dönüş değeridir. Sözleşmesi gereği `nvs_read()`, saklanan girişin tam uzunluğunu (`wlk_ate.len`) döndürür ve bu değer sağlanan tampon uzunluğunu aşabilir — gerçekte yalnızca `MIN(len, stored_len)` bayt kopyalanır ancak dönüş değeri, yalnızca NVS sektör boyutuyla sınırlı olmak üzere çok daha büyük olabilir. Üç konum (`settings_nvs_cache_match()`, `settings_nvs_load()` ve `settings_nvs_save()`), bu değeri herhangi bir sınırlama yapmadan doğrudan NUL indeksi olarak kullandığından, aşırı boyutlu bir saklanan ad girişi, saldırgan tarafından etkilenen bir ofsette yığın tamponunun sonunun ötesine tek bir `\0` baytı yazılmasına neden olur (CWE-787). Aşırı boyutlu giriş, isimlerin `SETTINGS_MAX_NAME_LEN` ile sınırlandığı normal ayarlar API'si üzerinden oluşamaz. Bu durum, ayarlar bölümünü destekleyen flaşa yazabilen bir aktör gerektirir — flaş cihazını paylaşan eş zamanlı veya güvenilmeyen bir bileşen, kötü amaçlı bir ayarlar imajı/geri yüklemesi veya çevrimdışı/fiziksel flaş erişimi (paylaşımlı flaş tehdit modeli). Hatalı biçimlendirilmiş giriş, önyükleme sırasında veya alt sistem başlatılırken `settings_load()` çalıştığında ya da `settings_save()` sırasında ayrıştırılır. Sınırlar dışı yazma işlemi, oluşturulmuş giriş uzunluğuna eşit (NVS sektör boyutuna kadar) bir ofsette tek bir NUL baytıdır; bu nedenle pratik etkisi, güvenilir kod yürütmeden ziyade bir çökme veya hizmet reddi ve sınırlı yığın bozulmasıdır. Gizlilik üzerinde bir etki yoktur ve bu yola standart ayarlar arayüzü üzerinden ağdan erişilemez. Düzeltme, NUL depolama işlemini gerçekleştirmeden önce `nvs_read()` uzunluğu tampon boyutundan büyük veya ona eşit olan tüm girişleri atlar.
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 | 2.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.