CVE-2026-72124
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: can: isotp: TX vəziyyət keçidlərinin so->rx_lock altında seriyallaşdırılması TX vəziyyət maşını (so->tx.state) üç kontekstdən idarə olunur: ötürməni tələb edən və irəlilətməyə çalışan sendmsg(), Axın İdarəetməsi/əks-səda kadrlarını istehlak edən RX yolu və dayanmış ötürmə üçün vaxtaşımı yaradan iki hrtimer. sendmsg()-də kilidsiz cmpxchg() tələbi ilə digər yerlərdə so->rx_lock altında çağırılan hrtimer_cancel() funksiyalarının qarışdırılması, bir kadrın və ya taymer geri çağırma funksiyasının artıq dəyişmiş vəziyyət üzərində əməliyyat apara biləcəyi boşluqlar yaratmışdı ki, bu da əlaqəsiz olan digər ötürmənin korlanmasına səbəb olurdu. İndi so->rx_lock TX tələbinin tam həyat dövrünü əhatə edir: sendmsg() so->tx.state-in ISOTP_IDLE olduğunu yoxlamaq, onu ISOTP_SENDING vəziyyətinə keçirmək, so->tx_gen-i artırmaq və əvvəlki ötürmənin taymerlərini təmizləmək üçün bu kilidi götürür - bütün bunlar tək bir kritik bölmə kimi icra edilir. isotp_rcv_fc()/isotp_rcv_cf() artıq isotp_rcv() vasitəsilə bu kilid altında işləyir və isotp_rcv_echo() indi kilidi özü götürür, beləliklə onların heç biri ötürməni tələb prosesinin ortasında müşahidə edə bilmir. Bu həmçinin o deməkdir ki, başqa bir axın eyni zamanda ötürməni tələb etdiyi və ya tamamladığı halda, ötürmə artıq sendmsg()-in təmizləmə yollarına (siqnal və ya göndərmə xətası) ötürülə bilməz, buna görə də həmin yollar taymerləri şərtsiz ləğv edə və vəziyyəti sıfırlaya bilər. isotp_release() soketi eyni qaydada tələb edir, beləliklə yarış vəziyyətində olan sendmsg() ardıcıl ISOTP_SHUTDOWN vəziyyətini görür və taymerini qurmaqdan və ya göndərməkdən imtina edir. Yalnız hrtimer geri çağırma funksiyaları so->rx_lock-dan kənarda qalır, çünki onlar digər yerlərdə so->rx_lock-un ləğvi altında işləyirlər və kilidi özlərinin götürməsi ölü kilidlənməyə (deadlock) səbəb olardı. so->tx_gen onlara vaxtaşımı olmuş ötürmənin hələ də aktiv olub-olmadığını müəyyən etməyə imkan verir, beləliklə onlar artıq tamamlanmış və ya əvəzlənmiş ötürmə üçün xəta bildirmirlər.
Necə düzəltmək olar
- Linux Linuxbbedeb67a9a684f2fb78c55bd3662c400526715e, 377a8f500704da42ed86a4541ed930e9dcfdb2ea, 6da8119e8dd542194103139812d1a4b7dcd1aedd, 0b05eca9589f609e2491b528dccf683168a4cda8, a7d90e7b5e75d7406c889fe36e9a61ee364a00cb, 37beb16e08cae94cc05840c7274225e3b0b38ae7, 4f1fdf1a1c317bcac0c6b6c8e12642c9983de1ca, cf070fe33bfbd1a4c21236078fadb35dd223a157 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < bbedeb67a9a684f2fb78c55bd3662c400526715e, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 377a8f500704da42ed86a4541ed930e9dcfdb2ea, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 6da8119e8dd542194103139812d1a4b7dcd1aedd, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 0b05eca9589f609e2491b528dccf683168a4cda8, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < a7d90e7b5e75d7406c889fe36e9a61ee364a00cb, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 37beb16e08cae94cc05840c7274225e3b0b38ae7, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < 4f1fdf1a1c317bcac0c6b6c8e12642c9983de1ca, e057dd3fc20ffb3d7f150af46542a51b59b90127 ≤ v < cf070fe33bfbd1a4c21236078fadb35dd223a157, 5.10 | bbedeb67a9a684f2fb78c55bd3662c400526715e, 377a8f500704da42ed86a4541ed930e9dcfdb2ea, 6da8119e8dd542194103139812d1a4b7dcd1aedd, 0b05eca9589f609e2491b528dccf683168a4cda8, a7d90e7b5e75d7406c889fe36e9a61ee364a00cb, 37beb16e08cae94cc05840c7274225e3b0b38ae7, 4f1fdf1a1c317bcac0c6b6c8e12642c9983de1ca, cf070fe33bfbd1a4c21236078fadb35dd223a157 |
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.