CVE-2026-31711
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: smb: server: nəqliyyatın ayrılması uğursuz olduqda active_num_conn sızmasını düzəlt 77ffbcac4e56 commit-i ("smb: server: ksmbd_tcp_new_connection()-də active_num_conn sızmasını düzəlt") kthread_run() uğursuzluq yolunu həll etmişdi. Həmin funksiyadakı daha əvvəlki alloc_transport() == NULL yolu eyni sızmanı daşıyır, autentifikasiyadan əvvəl 445 portuna istənilən TCP qoşulması vasitəsilə əlçatandır və UML-də (ARCH=um, v7.0-rc7) empirik olaraq təkrar istehsal edilib: az sayda məcburi ayrılma uğursuzluğu ksmbd-ni elə vəziyyətə gətirməyə kifayət etdi ki, boot-un qalan hissəsi boyunca hər sonrakı qoşulma cəhdi rədd edildi. ksmbd_kthread_fn() ksmbd_tcp_new_connection()-i çağırmazdan əvvəl active_num_conn-u artırır və qaytarılan dəyəri nəzərə almır, buna görə alloc_transport() NULL qaytardıqda socket buraxılır və sayğac azaldılmadan -ENOMEM qaytarılır. Hər belə uğursuzluq max_connections hovuzundan bir slotu daimi olaraq istehlak edir; kumulyativ uğursuzluqlar həddə çatdıqda atomic_inc_return() hər sonrakı accept zamanı həddi vurur və hər yeni qoşulma rədd edilir. Sayğac yalnız modulun yenidən yüklənməsi ilə sıfırlanır. Autentifikasiyadan keçməmiş uzaqdan təcavüzkar MAX_STREAM_PROT_LEN (0x00FFFFFF) qədər böyük RFC1002 uzunluqları ilə açıq qoşulmaları saxlayaraq serveri alloc_transport()-un uğursuz olmasına səbəb olan yaddaş təzyiqinə doğru yönəldə bilər; yüklənmiş hostda təbii keçici ayrılma uğursuzluqları eyni sürüşməni daha yavaş yaradır. ksmbd_kthread_fn()-dəki mövcud geri qaytarma nümunəsini təkrarlayın: alloc_transport() uğursuzluq yolunda active_num_conn-u server_conf.max_connections şərtinə bağlı olaraq azaldın. Təkrar istehsal təfərrüatları: patch geri qaytarıldıqda, məcburi alloc_transport() NULL qaytarmaları sayğac slotlarını sızdırdı və sonrakı qoşulma cəhdləri -- o cümlədən məcburi uğursuzluq pəncərəsi bağlandıqdan sonra edilən qanuni qoşulmalar -- hamısı "Limit the maximum number of connections" ilə rədd edildi. Bu patch tətbiq edildikdə, eyni qoşulma ardıcıllığı heç bir rədd yaratmır və sayğac hər accept zamanı sıfırla bir arasında təmiz şəkildə dövr edir.
Necə düzəltmək olar
- linux linux_kernel5.16, 6.2, 6.6.136, 6.12.84, 6.18.25, 7.0.2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.15.91 ≤ v < 5.16, 6.1.9 ≤ v < 6.2, 6.2.1 ≤ v < 6.6.136, 6.7 ≤ v < 6.12.84, 6.13 ≤ v < 6.18.25, 6.19 ≤ v < 7.0.2, 6.2 | 5.16, 6.2, 6.6.136, 6.12.84, 6.18.25, 7.0.2 |
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.