CVE-2026-72221
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: sunrpc: ləğv etmə yarışı uduzduqda gedişdə olan TLS əl sıxma (handshake) geri çağırışının gözlənilməsi svc_tcp_handshake() funksiyasındakı wait_for_completion_interruptible_timeout() 0 (vaxt aşımı) və ya -ERESTARTSYS (siqnal) qaytardıqda və tls_handshake_cancel() sonra false qaytardıqda, handshake_complete() ləğv etmə yarışını qazanmış olur: o, HANDSHAKE_F_REQ_COMPLETED təyin etmişdir və svc_tcp_handshake_done() funksiyasını çağırmaq üzrədir, lakin geri çağırışın xpt_flags və svsk->sk_handshake_done üzərindəki yan təsirləri hələ tətbiq edilməmişdir. Mövcud kod sessiyanın uğurlu olub-olmadığını müəyyən etmək üçün dərhal xpt_flags dəyərini oxuyur. Bu, iki yarışa səbəb olur. Əgər geri çağırış set_bit(XPT_TLS_SESSION) funksiyasını icra edib, lakin hələ clear_bit(XPT_HANDSHAKE) funksiyasını icra etməyibsə, svc_tcp_handshake() sessiyanı görür, nəqliyyatı növbəyə əlavə edir və geri dönür. Daha sonra svc_xprt_received() XPT_BUSY bitini təmizləyir, işçi axın (worker thread) nəqliyyatı götürür, svc_handle_xprt() funksiyasındakı dispetcher XPT_HANDSHAKE-in hələ də təyin edildiyini müşahidə edir və xpo_handshake ikinci dəfə çağırılır. Həmin svc_tcp_handshake() funksiyası init_completion(&svsk->sk_handshake_done) çağırarkən, orijinal geri çağırış eyni zamanda onun üzərində complete_all() çağırır ki, bu da daxili swait_queue strukturunu korlayır. Əgər geri çağırış HANDSHAKE_F_REQ_COMPLETED təyin edib, lakin hələ svc_tcp_handshake_done() funksiyasına daxil olmayıbsa, svc_tcp_handshake() XPT_TLS_SESSION bitini təmizlenmiş kimi oxuyur və əl sıxma uğura doğru getdiyi halda belə bağlantını kəsir. xpt_flags yoxlanılmadan əvvəl geri çağırışın tamamlanması gözlənilir. Tamamlanmanın baş verməsi zəmanətlidir, çünki handshake_complete() HANDSHAKE_F_REQ_COMPLETED təyin etdikdən sonra şərtsiz olaraq svc_tcp_handshake_done() funksiyasını çağırır.
Necə düzəltmək olar
- Linux Linux0d8ceb39884148dc7a2fdf71e1cac5961ed1d2b9, e0f4691d42a54d359d8b64509fd9ab938d4f2a33, 65b23bec1fca6e9ebdc3e6041ebf8c6ab074141b, a4f878e8ecd729ccf2e50993444e217583adeace, d00e32f84ca1a77cb67a3fbf59f58dada95f5a21 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | b3cbf98e2fdf3cb147a95161560cd25987284330 ≤ v < 0d8ceb39884148dc7a2fdf71e1cac5961ed1d2b9, b3cbf98e2fdf3cb147a95161560cd25987284330 ≤ v < e0f4691d42a54d359d8b64509fd9ab938d4f2a33, b3cbf98e2fdf3cb147a95161560cd25987284330 ≤ v < 65b23bec1fca6e9ebdc3e6041ebf8c6ab074141b, b3cbf98e2fdf3cb147a95161560cd25987284330 ≤ v < a4f878e8ecd729ccf2e50993444e217583adeace, b3cbf98e2fdf3cb147a95161560cd25987284330 ≤ v < d00e32f84ca1a77cb67a3fbf59f58dada95f5a21, 6.4 | 0d8ceb39884148dc7a2fdf71e1cac5961ed1d2b9, e0f4691d42a54d359d8b64509fd9ab938d4f2a33, 65b23bec1fca6e9ebdc3e6041ebf8c6ab074141b, a4f878e8ecd729ccf2e50993444e217583adeace, d00e32f84ca1a77cb67a3fbf59f58dada95f5a21 |
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.