CVE-2025-39977
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: futex: requeue-PI zamanı use-after-free xətasının qarşısının alınması syzbot aşağıdakı yarış vəziyyətini (race condition) tetikləyə bildi: T1 T2 futex_wait_requeue_pi() futex_do_wait() schedule() futex_requeue() futex_proxy_trylock_atomic() futex_requeue_pi_prepare() requeue_pi_wake_futex() futex_requeue_pi_complete() /* preempt */ * timeout/ signal T1-i oyadır * futex_requeue_pi_wakeup_sync() // Q_REQUEUE_PI_LOCKED futex_hash_put() // istifadəçi sahəsinə geri dönür, stekdəki futex_q artıq zibildir /* geri dönüş */ wake_up_state(q->task, TASK_NORMAL); Bu ssenaridə futex_wait_requeue_pi() sinxronizasiya üçün futex_q::lock_ptr-dən istifadə etmədən çıxa bilir. Bunun qarşısını futex_q::requeue_state yenilənməzdən əvvəl futex_q::task oxunaraq almaq olar. task_struct üzərində istinad tələb olunmur, çünki requeue_pi_wake_futex() funksiyası saxlanılan bir spinlock_t ilə çağırılır ki, bu da RCU oxuma bölməsini ifadə edir. Hətta T1 dərhal sonra sonlandıqda belə, T2-nin wake_up_state() funksiyası zamanı task_struct etibarlı qalacaqdır. futex_requeue_pi_complete() funksiyasından əvvəl futex_q::task üzərində READ_ONCE kifayətdir, çünki bu, dəyişənin vəziyyət yenilənməzdən əvvəl oxunduğunu təmin edir. Requeue vəziyyətini yeniləməzdən əvvəl futex_q::task oxunur və növbəti oyatma prosesi üçün ondan istifadə edilir.
Necə düzəltmək olar
- Linux Linuxcb5d19a61274b51b49601214a87af573b43d60fa, 348736955ed6ca6e99ca24b93b1d3fbfe352c181, a170b9c0dde83312b8b58ccc91509c7c15711641, d824b2dbdcfe3c390278dd9652ea526168ef6850, b549113738e8c751b613118032a724b772aa83f2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 07d91ef510fb16a2e0ca7453222105835b7ba3b8 ≤ v < cb5d19a61274b51b49601214a87af573b43d60fa, 07d91ef510fb16a2e0ca7453222105835b7ba3b8 ≤ v < 348736955ed6ca6e99ca24b93b1d3fbfe352c181, 07d91ef510fb16a2e0ca7453222105835b7ba3b8 ≤ v < a170b9c0dde83312b8b58ccc91509c7c15711641, 07d91ef510fb16a2e0ca7453222105835b7ba3b8 ≤ v < d824b2dbdcfe3c390278dd9652ea526168ef6850, 07d91ef510fb16a2e0ca7453222105835b7ba3b8 ≤ v < b549113738e8c751b613118032a724b772aa83f2, 5.15 | cb5d19a61274b51b49601214a87af573b43d60fa, 348736955ed6ca6e99ca24b93b1d3fbfe352c181, a170b9c0dde83312b8b58ccc91509c7c15711641, d824b2dbdcfe3c390278dd9652ea526168ef6850, b549113738e8c751b613118032a724b772aa83f2 |
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.