CVE-2026-80672
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: ntfs: restart-area uzunluğunun yoxlanılmasında u16 kəsilməsi düzəldildi ntfs_check_restart_area() funksiyası $LogFile restart sahəsinin və onun sonundakı loq müştəri qeydləri massivinin sistem səhifə ölçüsünə uyğun olduğunu yoxlayır: 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 dəyişəni u16 tipindədir, lakin sağ tərəf size_t tipində hesablanır (sizeof(struct log_client_record) == 160). Həm ca_ofs, həm də log_clients birbaşa diskdəki restart sahəsindən götürülür. Diskdəki log_clients 410 olduqda hasil 410 * 160 = 65600 olur; ca_ofs əlavə edildikdən sonra nəticənin u16 ra_len-ə yazılması onu 65536 modulu ilə kəsir (məsələn, ca_ofs 64 olduqda ra_len 128 olur), beləliklə, log_clients tərəfindən təsvir olunan müştəri massivi səhifədən çox kənara çıxsalar belə, "səhifəyə sığma" yoxlaması uğurlu olur. Daha sonra ntfs_check_log_client_array() yalnız diskdəki log_clients sayı ilə məhdudlaşan massivi gəzir: cr = ca + idx; if (cr->prev_client != LOGFILE_NO_CLIENT) ... log_clients 410 olduqda, o, ca + 409 * 160-a qədər olan qeydlərə müraciət edir ki, bu da kvzalloc(system_page_size) restart-səhifə buferindən ~64 KiB kənara çıxır — bu, xüsusi hazırlanmış NTFS imici mount edildikdə (mount zamanı load_and_check_logfile()) əlçatan olan hücumçunun idarə etdiyi sahənin sərhədlərdən kənar oxunmasıdır (out-of-bounds read). Bu, ntfs-3g istifadəçi sahəsi drayverində düzəldilən, lakin bərpa edilmiş klassik drayverdə heç vaxt düzəldilməmiş CVE-2022-30789 zəifliyinin nüvə daxili analoqudur. Restart sahəsinin uzunluğunu u32 tipində hesablayın ki, mövcud sərhəd yoxlaması kəsilmə vasitəsilə yan keçilmək əvəzinə həddindən artıq böyük müştəri massivini rədd etsin. ra_ofs və ca_ofs dəyişənlərini də u32 tipinə genişləndirin: hər ikisi diskdəki __le16 sahələrindən yüklənir və hər bir müqayisə artıq int/size_t tipinə çevrilir, buna görə də bu, nəticəni dəyişmir və deklarasiyanı vahid saxlayır.
Necə düzəltmək olar
- Linux Linux07a4751ef3ccc8bfd17bfbb16e5003c03161790d, 390936fb15053d8d8991ca3a22776e251a5a7f2f və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 1e9ea7e04472d4e5e12e58c881eaacfb3e49b669 ≤ v < 07a4751ef3ccc8bfd17bfbb16e5003c03161790d, 1e9ea7e04472d4e5e12e58c881eaacfb3e49b669 ≤ v < 390936fb15053d8d8991ca3a22776e251a5a7f2f, 7.1 | 07a4751ef3ccc8bfd17bfbb16e5003c03161790d, 390936fb15053d8d8991ca3a22776e251a5a7f2f |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.