CVE-2026-89784
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: SUNRPC: rpcb_register_inet4/6 fonksiyonlarında rpc_sockaddr2uaddr() dönüş değerini kontrol edin rpcb_register_inet4() ve rpcb_register_inet6() fonksiyonları, rpc_sockaddr2uaddr() sonucunu NULL olup olmadığını kontrol etmeden map->r_addr içine kaydetmektedir. rpc_sockaddr2uaddr(), son kstrdup() işlemi başarısız olduğunda NULL döndürür ve kontrol edilmeyen bu NULL değeri daha sonra senkron RPCBPROC_SET kodlama yoluna aktarılır: rpcb_register_call() -> rpc_call_sync() -> rpcb_enc_getaddr() -> encode_rpcb_string(). Bu yolun ilk ifadesi olan strlen(string), NULL referansı vererek çekirdek çökmesine (oops) neden olur. Çökme, v6.12 üzerinde failslab ile yeniden üretilmektedir; KASAN ile NULL referansı, sıfır adresinin gölgesinde bir hata olarak ortaya çıkar: 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 Bu çökmeye, çekirdek içi bir RPC servisinin (nfsd, lockd, nfs-callback), rpc_sockaddr2uaddr() içindeki küçük GFP_KERNEL kstrdup() işleminin başarısız olmasına yetecek kadar bellek baskısı altındayken yerel rpcbind ile kayıt olması durumunda ulaşılabilir. Asenkron getport yolu, zaten -ENOMEM döndürerek tam olarak bu hata modunu yönetmektedir; yalnızca iki kayıt yardımcı fonksiyonu bu kontrolü atlamaktadır. Bu işlemle aynı yöntemi uygulayın: Adres kodlayıcıya beslenmeden önce, rpc_sockaddr2uaddr() NULL döndürdüğünde -ENOMEM ile işlemi sonlandırın.
Nasıl düzeltilir
- Linux Linux04441b792ec40eb66349b5fab34b6a2090b5b2dd, 5a51c49ddb37b883566874aecc66bc5a2e617a96, 4a6095de8cb1858e05bdf70b3e7d6d7645c25041, 12bf3e0182ccdaf3b412756a756d3944a7dacaa9, 4e01022974355732e748ec8ebc97c558cb624ffe, cda4aacfb0bbf5c0f90fd0b42c72c749635d1368, eb476289c12cc22c8766f8a84eeb7ab46c4e8fb6, fd22370226a0d8109045d0831fd5aaadee921693 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| 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 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.