CVE-2026-98226
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: mm, swap: SWAP_USAGE_OFFLIST_BIT-in real istifadə sayğacı ilə toqquşmasının düzəldilməsi SWAP_USAGE_OFFLIST_BIT, si->inuse_pages istifadə saygacına daxil edilib və bu sayğacın çata biləcəyi hər hansı bir dəyərdən yuxarıda yerləşməli idi. Lakin o, BITS_PER_TYPE(atomic_t)-dən təyin edildiyi üçün 30-cu bitdir. 4 KiB səhifələri olan sistemdə həmin sayğac 4 TiB-a çatdıqda, bayraq istifadə sayı ilə toqquşur. swap_usage_in_pages() funksiyası 30-cu biti maskalayır, buna görə də real sayğacda həmin bit təyin olunduqda, onu çağıran hər kəs 4 TiB daha az oxuyur: * /proc/swaps faylında "Used" göstəricisi 4 TiB az əks olunur. * Dəqiq 2^30 olan xammal sayğacı sıfıra maskalanır, buna görə də try_to_unuse() funksiyası özünün "if (!swap_usage_in_pages(si)) goto success;" erkən çıxışını həyata keçirir və səhifələr hələ də swap-da olduğu halda swapoff cihazı ləğv edir. swapoff-un qalan hissəsində ləğvi dayandıran heç nə olmadığı üçün həmin səhifələr itirilir. swapoff-dan asılı olmayaraq, toqquşma həmçinin sayğacı və plist-i korlayır. Normal istifadədə olan cihazda, sayğacda 30-cu biti təyin edilmiş şəkildə saxlayan boşaltma (free) əməliyyatı, swap_usage_sub()-un yalnız sayğacın olduğu yerdə bayrağı görməsinə və add_to_avail_list()-i çağırmasına səbəb olur. O, fetch_and(~SWAP_USAGE_OFFLIST_BIT) ilə biti təmizləyir, beləliklə saxlanılan sayğac real dəyərdən 4 TiB aşağı qalır və artıq siyahıda olan cihaz üzərində plist_add()-i çağıraraq plist_add()-dəki WARN_ON(!plist_node_empty(node)) xətasını tetikləyir və düyünü ikinci dəfə bağlayır. SWAP_USAGE_OFFLIST_BIT-in tərifini atomic_long_t tipinə əsaslanacaq şəkildə dəyişin. Qeyd edək ki, istifadə sayğacı sahəsinin özü də eyni tipdədir, buna görə də bu hələ də etibarlı bitdir.
Necə düzəltmək olar
- Linux Linux0a41a46859df0d2bd7ed127197aac7c7389c00ed, 7c0d0d6de46076b43a2acaf1026b6648f8434c39, 12e9ac7bc5b254048f886bf421e3a15491106c1f və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | b228386cf237e659cdf5d8037a19db0b0a06f6b5 ≤ v < 0a41a46859df0d2bd7ed127197aac7c7389c00ed, b228386cf237e659cdf5d8037a19db0b0a06f6b5 ≤ v < 7c0d0d6de46076b43a2acaf1026b6648f8434c39, b228386cf237e659cdf5d8037a19db0b0a06f6b5 ≤ v < 12e9ac7bc5b254048f886bf421e3a15491106c1f, 6.14 | 0a41a46859df0d2bd7ed127197aac7c7389c00ed, 7c0d0d6de46076b43a2acaf1026b6648f8434c39, 12e9ac7bc5b254048f886bf421e3a15491106c1f |
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.