CVE-2026-89784
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: SUNRPC: rpcb_register_inet4/6 funksiyalarında rpc_sockaddr2uaddr() geri dönüş dəyərini yoxlayın rpcb_register_inet4() və rpcb_register_inet6() funksiyaları rpc_sockaddr2uaddr() nəticəsini NULL olub-olmadığını yoxlamadan map->r_addr daxilinə yazır. rpc_sockaddr2uaddr() sonuncu kstrdup() uğursuz olduqda NULL qaytarır və yoxlanılmamış NULL daha sonra sinxron RPCBPROC_SET kodlaşdırma yoluna ötürülür: rpcb_register_call() -> rpc_call_sync() -> rpcb_enc_getaddr() -> encode_rpcb_string(). Bu funksiyanın ilk ifadəsi strlen(string) olduğu üçün NULL ünvanına müraciət edilir və kernel-də "oops" xətası baş verir. Sistem çökməsi v6.12 versiyasında failslab altında təkrar istehsal olunur; KASAN ilə NULL müraciəti sıfır ünvanının kölgəsində xəta kimi üzə çıxır: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000 [#1] PREEMPT SMP KASAN RIP: 0010:strlen (lib/string.c:409) Call Trace: encode_rpcb_string (net/sunrpc/rpcb_clnt.c:890) rpcb_enc_getaddr (net/sunrpc/rpcb_clnt.c:910) rpcauth_wrap_req_encode (net/sunrpc/auth.c:745) call_encode (net/sunrpc/clnt.c:1966) __rpc_execute (net/sunrpc/sched.c:952) rpc_run_task (net/sunrpc/clnt.c:1243) rpc_call_sync (net/sunrpc/clnt.c:1272) rpcb_v4_register (net/sunrpc/rpcb_clnt.c:500) svc_generic_rpcbind_set nfsd_rpcbind_set svc_register svc_setup_socket svc_addsock write_ports nfsctl_transaction_write vfs_write Çökmə, kernel daxili bir RPC xidməti (nfsd, lockd, nfs-callback) yerli rpcbind ilə qeydiyyatdan keçərkən, yaddaş təzyiqi kifayət qədər yüksək olduqda və rpc_sockaddr2uaddr() daxilindəki kiçik GFP_KERNEL kstrdup() uğursuz olduqda baş verir. Asinxron getport yolu artıq bu xətanı -ENOMEM qaytararaq idarə edir; yalnız iki qeydiyyat köməkçi funksiyası bu yoxlamanı buraxmışdı. Həmin idarəetməni tətbiq edin: rpc_sockaddr2uaddr() NULL qaytardıqda, ünvan kodlaşdırıcıya göndərilməzdən əvvəl -ENOMEM ilə prosesi dayandırın.
Necə düzəltmək olar
- Linux Linux04441b792ec40eb66349b5fab34b6a2090b5b2dd, 5a51c49ddb37b883566874aecc66bc5a2e617a96, 4a6095de8cb1858e05bdf70b3e7d6d7645c25041, 12bf3e0182ccdaf3b412756a756d3944a7dacaa9, 4e01022974355732e748ec8ebc97c558cb624ffe, cda4aacfb0bbf5c0f90fd0b42c72c749635d1368, eb476289c12cc22c8766f8a84eeb7ab46c4e8fb6, fd22370226a0d8109045d0831fd5aaadee921693 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | d77385f23830ee6c400569bac8b37e6eb3b7d360 ≤ v < 04441b792ec40eb66349b5fab34b6a2090b5b2dd, d77385f23830ee6c400569bac8b37e6eb3b7d360 ≤ v < 5a51c49ddb37b883566874aecc66bc5a2e617a96, d77385f23830ee6c400569bac8b37e6eb3b7d360 ≤ v < 4a6095de8cb1858e05bdf70b3e7d6d7645c25041, d77385f23830ee6c400569bac8b37e6eb3b7d360 ≤ v < 12bf3e0182ccdaf3b412756a756d3944a7dacaa9, d77385f23830ee6c400569bac8b37e6eb3b7d360 ≤ v < 4e01022974355732e748ec8ebc97c558cb624ffe, d77385f23830ee6c400569bac8b37e6eb3b7d360 ≤ v < cda4aacfb0bbf5c0f90fd0b42c72c749635d1368, d77385f23830ee6c400569bac8b37e6eb3b7d360 ≤ v < eb476289c12cc22c8766f8a84eeb7ab46c4e8fb6, d77385f23830ee6c400569bac8b37e6eb3b7d360 ≤ v < fd22370226a0d8109045d0831fd5aaadee921693, 3.2 | 04441b792ec40eb66349b5fab34b6a2090b5b2dd, 5a51c49ddb37b883566874aecc66bc5a2e617a96, 4a6095de8cb1858e05bdf70b3e7d6d7645c25041, 12bf3e0182ccdaf3b412756a756d3944a7dacaa9, 4e01022974355732e748ec8ebc97c558cb624ffe, cda4aacfb0bbf5c0f90fd0b42c72c749635d1368, eb476289c12cc22c8766f8a84eeb7ab46c4e8fb6, fd22370226a0d8109045d0831fd5aaadee921693 |
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.