CVE-2026-13478
Açıklama
Zephyr ext2 dosya sistemi sürücüsü, ext2_init_fs() (subsys/fs/ext2/ext2_impl.c) içinde disk üzerindeki blok bitmap'ini doğrularken fs_blocks = s_blocks_count - s_first_data_block değerini ext2_bitmap_count_set() işlevine geçirir. Bu yardımcı işlev (subsys/fs/ext2/ext2_bitmap.c) argümanını bit sayısı olarak ele alır ve her sekiz bit için bir bitmap baytı okur; ancak bitmap arabelleği (BGROUP_BLOCK_BITMAP) yalnızca fs->block_size bayt boyutunda tek bir getirilmiş bloktur (kapasite fs->block_size * 8 bit). s_blocks_count ve s_first_data_block değerleri süperbloktan olduğu gibi alınır ve hiçbir zaman bu tek grup kapasitesine göre sınırlandırılmamıştır; ext2_verify_disk_superblock() sihirli sayıyı, revizyonu ve blok boyutu kaydırmasını denetler ancak blok sayısını denetlemez. Aşırı büyük bir s_blocks_count (maksimum 4096 baytlık blok / 32768 bitlik bitmap'e karşı yaklaşık 4 milyara kadar) içeren özel olarak hazırlanmış bir ext2 imajı, ext2_bitmap_count_set() işlevinin bitmap bloğunun ötesinde yaklaşık 512 MB bellek taramasına neden olur — statik blok diliminin ve bitişik belleğin büyük bir sınır dışı okuması. Hata bağlama sırasında tetiklenir: ext2_init_fs(), kayıtlı .mount işlemi olan ext2_mount() (subsys/fs/ext2/ext2_ops.c) tarafından çağrılır. Saldırgan tarafından sağlanan bir ext2 imajını bağlayan her yol (çıkarılabilir medya, bir disk/flaş bölümü veya indirilmiş bir imaj) bunu tetikler. Çekirdek ayrıcalıklı ayrıştırıcı saldırgan denetimindeki veriler üzerinde çalıştığından, güvenilmeyen ext2 medyasının bağlanabildiği her yerde hata sömürülebilir. Etki yalnızca sınır dışı okumadır: elde edilen bit sayısı dahili olarak karşılaştırılır ve bağlama reddedilir, bu nedenle saldırgan denetimindeki baytlar döndürülmez (kullanışlı bir bilgi sızıntısı değildir). Yaklaşık 512 MB'lık fazla okuma neredeyse kesinlikle eşlenmemiş veya MPU korumalı bir sınırı aşacak ve hata verecek, sistemi çökertecektir — tek bir hatalı biçimlendirilmiş imajın bağlanmasıyla tetiklenen bir hizmet reddi. Düzeltme, taramadan önce fs_blocks değeri fs->block_size * 8'i aşan her imajı reddeder.
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 | 3.5.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.