CVE-2026-64322
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: udf: sparing tablosu uzunluğunu bayt sayısı olarak değil, giriş sayısı olarak doğrulayın udf_load_sparable_map(), şu durum yanlış olduğunda bir sparing tablosunu kabul eder: sizeof(*st) + le16_to_cpu(st->reallocationTableLen) > sb->s_blocksize Yani, reallocationTableLen değerini blok içine sığması gereken BAYT sayısı olarak değerlendirir. Ancak tablo, udf_get_pblock_spar15() ve udf_relocate_blocks() fonksiyonlarında 8 baytlık sparingEntry öğelerinden oluşan bir dizi olarak taranır: for (i = 0; i < le16_to_cpu(st->reallocationTableLen); i++) { struct sparingEntry *entry = &st->mapEntry[i]; ... entry->origLocation ... } Bu nedenle, N değerindeki bir reallocationTableLen, sizeof(*st) + N <= blocksize olduğu sürece kontrolü geçer; ancak tüketiciler sizeof(*st) + N * sizeof(struct sparingEntry) bayta kadar —bloğun yaklaşık 8 katına kadar— indeksleme yapar. Özel olarak hazırlanmış bir UDF imajında bu durum, udf_get_pblock_spar15() içerisinde sınır dışı okumaya (out-of-bounds read) yol açar; udf_relocate_blocks() ek olarak aynı uzunluğu, crc_itu_t() fonksiyonu bloğun çok ötesini okuyan udf_update_tag() fonksiyonuna iletir ve bunun st->mapEntry[] üzerinden gerçekleştirdiği memmove() işlemi bir sınır dışı yazmaya (out-of-bounds write) neden olur. reallocationTableLen değerini struct_size() ile gerçekte olduğu gibi giriş sayısı olarak doğrulayın.
Nasıl düzeltilir
- linux linux_kernel2.6.33, 2.6.35, 3.1, 3.3, 3.5, 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 2.6.32.60 ≤ v < 2.6.33, 2.6.34.14 ≤ v < 2.6.35, 3.0.37 ≤ v < 3.1, 3.2.23 ≤ v < 3.3, 3.4.5 ≤ v < 3.5, 3.5.1 ≤ v < 5.10.261, 5.11 ≤ v < 5.15.212, 5.16 ≤ v < 6.1.178, 6.2 ≤ v < 6.6.145, 6.7 ≤ v < 6.12.96, 6.13 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4, 3.5 | 2.6.33, 2.6.35, 3.1, 3.3, 3.5, 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 |
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.