CVE-2026-93224

Yüksək

Təsvir

Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: svcrdma: uğursuz accept zamanı uyğunlaşmayan rn_unregister funksiyasının düzəldilməsi svc_rdma_accept() funksiyası rpcrdma_rn_register() uğurlu olmadan errout yoluna girdikdə, mövcud təmizləmə bloku şərtsiz olaraq rpcrdma_rn_unregister(dev, &newxprt->sc_rn) funksiyasını çağırır. svcxprt_rdma kzalloc ilə ayrıldığı üçün həmin yolda sc_rn.rn_index 0 və sc_rn.rn_done NULL olur; buna görə də unregister əməliyyatı başqa bir çağıranın 0 nömrəli slotunu xa_erase() edir və rpcrdma_device-nin rd_kref-i üzərində uyğunlaşmayan kref_put() yerinə yetirir. Eyni errout həmçinin təmizləmə prosesini kref_init() doğum istinadı ətrafında svc_xprt_get()/svc_xprt_put() ilə əhatə edir. kref 1 -> 2 -> 1 ardıcıllığı ilə dəyişir və heç vaxt 0-a çatmır, beləliklə, hər uğursuz accept zamanı svcxprt_rdma (və onun sabitlədiyi net/ns_tracker) sızır. rpcrdma_rn_register() funksiyası rn->rn_done dəyərini yalnız xa_alloc() və kref_get() hər ikisi uğurlu olduqdan sonra sonda yazır, buna görə də rn_done == NULL təbii bir "heç vaxt qeydiyyata alınmamış" göstəricisidir. rn_done NULL olduqda erkən geri dönüşlə rpcrdma_rn_unregister() funksiyasını qoruyun və təkrar unregister əməliyyatının effektivsiz olması üçün uyğun xa_erase()-dən əvvəl rn_done dəyərini sıfırlayın. Həmin qoruma tətbiq edildikdə, accept errout yolu svc_xprt_put() vasitəsilə kref_init() doğum istinadını azaldır ki, bu da svc_rdma_free() funksiyasını işə salır. sc_qp, sc_sq_cq, sc_rq_cq və sc_pd-nin ləğvi svc_rdma_free() daxilindəki mövcud IS_ERR/NULL qorumaları altında icra olunur; sc_rn yeni rn_done göstəricisi ilə əhatə olunur; sc_cm_id hər bir errout yolunda NULL deyil, çünki svc_rdma_accept() ilk goto errout-dan əvvəl ona müraciət edir. svc_xprt_free() azad edilmiş transportla əlaqəli modul istinadını silir və ->xpo_accept() NULL qaytardıqda svc_handle_xprt() özünün öncədən əldə etdiyi istinadı silir. İki module_put() əməliyyatının balanslı qalması üçün svc_xprt_put()-dan əvvəl əvəzedici modul istinadı götürün. rn_done qoruması həmçinin qeydiyyat cəhdi uğursuz olan və ya heç vaxt icra edilməyən transportlar üçün svc_rdma_free() funksiyasının listener olmayan rpcrdma_rn_unregister() çağırışını da əhatə edir.

CiddilikYüksək
CVSS8.1
İstismar ehtimalı—
MəhsulLinux
Dərc24 sen 2026
İlk görülmə24 sen 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux0335800071a6dfdf7d21d729b5e7d8fa98936211, 5aabe070c00e5bdf4ab150fb5f72ad5f266d6241, 45a444a17240f4fa2235f0dfd4a96fc80f1eb2c2, 26190394c64c9429481fc88a4738f70bb92fb352, 6.12.109, 6.16 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linuxcb3cba0ec372fa7c5f5f5c12990bef02e458ab86 ≤ v < 0335800071a6dfdf7d21d729b5e7d8fa98936211, 8ac6fcae5dc0e801f1c82a83f5ae2c0a4db19932 ≤ v < 5aabe070c00e5bdf4ab150fb5f72ad5f266d6241, 8ac6fcae5dc0e801f1c82a83f5ae2c0a4db19932 ≤ v < 45a444a17240f4fa2235f0dfd4a96fc80f1eb2c2, 8ac6fcae5dc0e801f1c82a83f5ae2c0a4db19932 ≤ v < 26190394c64c9429481fc88a4738f70bb92fb352, d310955106c358c8e1ea682defd8e21af44a6cba, 6.12.35 ≤ v < 6.12.109, 6.15.4 ≤ v < 6.16, 6.160335800071a6dfdf7d21d729b5e7d8fa98936211, 5aabe070c00e5bdf4ab150fb5f72ad5f266d6241, 45a444a17240f4fa2235f0dfd4a96fc80f1eb2c2, 26190394c64c9429481fc88a4738f70bb92fb352, 6.12.109, 6.16

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-93224 · Linux · Dark Radar