CVE-2026-80672
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ntfs: restart-area uzunluk kontrolündeki u16 kırpılması düzeltildi ntfs_check_restart_area(), $LogFile restart alanı ve bunun sonundaki log istemci kayıt dizisinin sistem sayfa boyutuna sığdığını doğrular: u16 ra_ofs, ra_len, ca_ofs; ... ra_len = ca_ofs + le16_to_cpu(ra->log_clients) * sizeof(struct log_client_record); if (ra_ofs + ra_len > le32_to_cpu(rp->system_page_size) || ...) return false; ra_len bir u16'dır ancak sağ taraf size_t olarak hesaplanır (sizeof(struct log_client_record) == 160). Hem ca_ofs hem de log_clients doğrudan diskteki restart alanından gelir. Diskteki log_clients değeri 410 olduğunda çarpım sonucu 410 * 160 = 65600 olur; ca_ofs eklenip u16 ra_len değişkenine kaydedildiğinde değer 65536 modülünde kırpılır (örneğin ca_ofs 64 ise ra_len 128 olur), böylece log_clients tarafından tanımlanan istemci dizisi sayfayı çok aşsa bile "sayfaya sığma" kontrolü geçerli sayılır. Ardından ntfs_check_log_client_array(), yalnızca diskteki log_clients sayısı ile sınırlı olan diziyi tarar: cr = ca + idx; if (cr->prev_client != LOGFILE_NO_CLIENT) ... log_clients 410 olduğunda, kvzalloc(system_page_size) restart-page tamponunun yaklaşık 64 KiB ötesindeki ca + 409 * 160 adresine kadar olan kayıtlara erişir; bu durum, özel olarak hazırlanmış bir NTFS imajı bağlandığında (bağlama sırasında load_and_check_logfile()) saldırgan tarafından kontrol edilen alanda sınır dışı okuma (out-of-bounds read) riskine yol açar. Bu, ntfs-3g kullanıcı alanı sürücüsünde düzeltilen ancak yeniden canlandırılan bu klasik sürücüde hiç düzeltilmeyen CVE-2022-30789'un çekirdek içi karşılığıdır. Mevcut sınır kontrolünün, kırpılma nedeniyle etkisiz hale gelmek yerine aşırı büyük bir istemci dizisini reddetmesi için restart-area uzunluğu u32 olarak hesaplanmıştır. Ayrıca ra_ofs ve ca_ofs da u32'ye genişletilmiştir: her ikisi de diskteki __le16 alanlarından yüklenmektedir ve tüm karşılaştırmalar zaten int/size_t tipine yükseltilmektedir, dolayısıyla bu işlem herhangi bir sonucu değiştirmez ve deklarasyonun tekdüze kalmasını sağlar.
Nasıl düzeltilir
- Linux Linux07a4751ef3ccc8bfd17bfbb16e5003c03161790d, 390936fb15053d8d8991ca3a22776e251a5a7f2f ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 1e9ea7e04472d4e5e12e58c881eaacfb3e49b669 ≤ v < 07a4751ef3ccc8bfd17bfbb16e5003c03161790d, 1e9ea7e04472d4e5e12e58c881eaacfb3e49b669 ≤ v < 390936fb15053d8d8991ca3a22776e251a5a7f2f, 7.1 | 07a4751ef3ccc8bfd17bfbb16e5003c03161790d, 390936fb15053d8d8991ca3a22776e251a5a7f2f |
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.