CVE-2026-80775
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: futex: ilkin mm->futex.phash.ref ayrılmasında yarış vəziyyəti düzəldildi futex_hash_allocate() funksiyası mm->futex.phash.ref-i heç bir kilidləmə olmadan ayırır. d9b05321e21e commit-i ("futex: Move futex_hash_free() back to __mmput()") ayrılmanı bura köçürmüş və güman etmişdi ki, prosesin bu məqamda yalnız bir ipi var. ee9dce44362b commit-i ("futex: Drop CLONE_THREAD requirement for private default hash alloc") need_futex_hash_allocate_default() funksiyasını istənilən CLONE_VM klonunu əhatə etmək üçün genişləndirmiş, lakin vfork-u kənarda qoymuşdu, çünki valideyn dayandırılıb və yarış vəziyyətinə düşə bilməz. vfork iç-içə olduqda bu artıq keçərli deyil. Əgər vfork övladı yenidən vfork çağırırsa və sonra SIGKILL ilə öldürülürsə, valideyn vfork gözləməsindən azad olur və eyni mm-də nəvə ilə paralel işləyir. Onların heç biri futex_hash_allocate_default() funksiyasından keçməyib. Hər ikisi eyni vaxtda prctl(PR_FUTEX_HASH, PR_FUTEX_HASH_SET_SLOTS) çağırdıqda, hər biri mm->futex.phash.ref-i NULL kimi görür və öz percpu sayğacını yazır. Yalnız sonuncu yazma qalır. Birinci yazılan sayğac artıq mm-dən əlçatan deyil, ona görə də onun üzərindəki istinadlar __futex_ref_atomic_end() tərəfindən görünmür. Hələ istinadları olan private hash ölü hesab edilir və azad edilir, hələ də onun bucket-lərindən birini saxlayan tapşırıq isə futex_q_lock() funksiyasında azad edilmiş yaddaşa yazır. Sayğacı cmpxchg() ilə bir dəfə yazın və uduzan tərəf öz sayğacını free_percpu() ilə azad etsin. İlkin istinad yazmadan əvvəl götürülməlidir, əks halda başqa bir tapşırıq sayğac hələ 0 ikən private hash quraşdıra bilər.
Necə düzəltmək olar
- Linux Linux86d12b34bafc9a4c271a9edefea88855a934d6e5, ff252ed45c8263525f2f54d81c5fa6d547fba344, c4b4972d8edcdf50b6518f55119e129d2f668a10, bde0238083647381d4747355c5a19115a3422b96 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | d9b05321e21e4b218de4ce8a590bf375f58b6346 ≤ v < 86d12b34bafc9a4c271a9edefea88855a934d6e5, d9b05321e21e4b218de4ce8a590bf375f58b6346 ≤ v < ff252ed45c8263525f2f54d81c5fa6d547fba344, d9b05321e21e4b218de4ce8a590bf375f58b6346 ≤ v < c4b4972d8edcdf50b6518f55119e129d2f668a10, d9b05321e21e4b218de4ce8a590bf375f58b6346 ≤ v < bde0238083647381d4747355c5a19115a3422b96, 6.17 | 86d12b34bafc9a4c271a9edefea88855a934d6e5, ff252ed45c8263525f2f54d81c5fa6d547fba344, c4b4972d8edcdf50b6518f55119e129d2f668a10, bde0238083647381d4747355c5a19115a3422b96 |
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.