CVE-2026-98580

Naməlum

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: nfc: llcp: accept_queue həyat dövründəki yarış vəziyyətinin (race condition) düzəldilməsi nfc_llcp_socket_release() funksiyasında soketlər və dinləyici accept növbələri lokal soketlər rwlock və bh_lock_sock() altında yoxlanılır. Lakin bh_lock_sock(), accept() zamanı nfc_llcp_accept_dequeue() tərəfindən saxlanılan proses kontekstli lock_sock() ilə sinxronizasiya təmin etmir. socket_release() funksiyası sock_owned_by_user() yoxlamasını aparmadığı üçün hər iki yol eyni alt soketi eyni vaxtda silib azad edə bilər ki, bu da nfc_llcp_accept_unlink() funksiyasında use-after-free və ya child->parent-in NULL göstəricisinin istifadəsinə (NULL pointer dereference) səbəb olar. Bu sinxronizasiya yarışını nfc_llcp_socket_release() funksiyasının bh_lock_sock() əvəzinə proses kontekstli lock_sock()-dən istifadə etməsi ilə düzəldin: 1. lock_sock() yazma kilidi (rwlock) olmadan əldə edilə bilsin deyə, nfc_llcp_sock_list_pop() vasitəsilə soketləri lokal soket siyahısından çıxarın. 2. lock_sock() yata biləcəyi (sleep) üçün nfc_llcp_local strukturunun yekun azad edilməsini iş növbəsinə (workqueue - release_work) təxirə salın. Bu, son lokal istinad softirq kontekstindən silindikdə atomik kontekstdə yatma (sleeping-in-atomic) xətasının qarşısını alır. Əlavə olaraq, qeydiyyatdan yekun məhv edilməyə qədər local üzərində tək cihaz istinadını saxlayın. 3. nfc_llcp_local_get() funksiyasında, sökülməsi planlaşdırılmış lokal obyektin yenidən aktivləşdirilməsinin qarşısını almaq üçün kref_get_unless_zero() istifadə edin. 4. Dinləyicinin eyni vaxtda bağlanması halında donmaların qarşısını almaq üçün llcp_sock_accept() funksiyasında schedule_timeout()-dan oyandıqdan sonra dinləyici soket vəziyyətinin hələ də LLCP_LISTEN olduğunu yoxlayın. 5. Dinləyici azad edilərkən qəbul edilməmiş alt soketləri silərkən onları local->sockets-dən ayırın, sock_orphan() çağırın və sock_put() vasitəsilə onların ilkin sk_alloc yaradılma istinadını silin. 6. Parent girişini NULL yoxlaması ilə qoruyaraq nfc_llcp_accept_unlink() funksiyasını idempotent edin.

CiddilikNaməlum
CVSS—
İstismar ehtimalı—
MəhsulLinux
Dərc18 okt 2026
İlk görülmə18 okt 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux54adcabb0f1deef1bdae5fc64779ed6d442721c9, 7c938aad5108382c6ad7453c4b5ee8ae3f3252ed, d2093a0981138876212bc5f473bdbfba0786e064, 41256821762a7114906b178826d17098e2fa5992, 53867f6acb1af7f12d6485fa8a2819318f89083b, da8a07757383614a8380a0f7dd54749d2687b82e, d5e1c92d09caed19f2988739695ce611a86ba6f8, c3eef2f988a3db9690369d7cef9a3344dd9788d3 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linux50b78b2a6500d0e97c204c1b6c51df8c17358bbe ≤ v < 54adcabb0f1deef1bdae5fc64779ed6d442721c9, 50b78b2a6500d0e97c204c1b6c51df8c17358bbe ≤ v < 7c938aad5108382c6ad7453c4b5ee8ae3f3252ed, 50b78b2a6500d0e97c204c1b6c51df8c17358bbe ≤ v < d2093a0981138876212bc5f473bdbfba0786e064, 50b78b2a6500d0e97c204c1b6c51df8c17358bbe ≤ v < 41256821762a7114906b178826d17098e2fa5992, 50b78b2a6500d0e97c204c1b6c51df8c17358bbe ≤ v < 53867f6acb1af7f12d6485fa8a2819318f89083b, 50b78b2a6500d0e97c204c1b6c51df8c17358bbe ≤ v < da8a07757383614a8380a0f7dd54749d2687b82e, 50b78b2a6500d0e97c204c1b6c51df8c17358bbe ≤ v < d5e1c92d09caed19f2988739695ce611a86ba6f8, 50b78b2a6500d0e97c204c1b6c51df8c17358bbe ≤ v < c3eef2f988a3db9690369d7cef9a3344dd9788d3, 3.754adcabb0f1deef1bdae5fc64779ed6d442721c9, 7c938aad5108382c6ad7453c4b5ee8ae3f3252ed, d2093a0981138876212bc5f473bdbfba0786e064, 41256821762a7114906b178826d17098e2fa5992, 53867f6acb1af7f12d6485fa8a2819318f89083b, da8a07757383614a8380a0f7dd54749d2687b82e, d5e1c92d09caed19f2988739695ce611a86ba6f8, c3eef2f988a3db9690369d7cef9a3344dd9788d3

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.

Intelligence 360 paketində

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.

CVE-2026-98580 · Linux · Dark Radar