CVE-2026-72317
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: SUNRPC: üst rpc_clnt'nin TLS connect_worker boyunca sabitlenmesi TLS bağlantı yolunda bir serbest bırakıldıktan sonra kullanım (use-after-free) durumu mevcuttur: gecikmeli connect_worker boyunca üst rpc_clnt'yi sabitleyen hiçbir mekanizma yoktur. xs_connect(), task->tk_client değerini sock_xprt::clnt içerisine ham bir işaretçi olarak saklar ve worker'ı kuyruğa ekler; TLS ile güvenliği sağlanmış taşıyıcılar için bu worker, iç el sıkışma rpc_clnt argümanlarını oluşturmak amacıyla kaydedilen işaretçiden birkaç alanı (cl_timeout, cl_program, cl_prog, cl_vers, cl_cred, cl_stats) okuyan xs_tcp_tls_setup_socket() fonksiyonudur. xprt, rpc_clnt'ye referans vermez; rpc_clnt ise xprt'ye referans verir. xs_destroy() fonksiyonu connect_worker'ı iptal eder ancak bu işlem yalnızca xprt'nin referans sayacı sıfıra düştüğünde gerçekleşir; bu durum ise rpc_clnt, rpc_free_client_work() içinde cl_xprt referansını serbest bırakana kadar meydana gelemez. Bir TLS el sıkışması kritik şekilde başarısız olduğunda (örneğin, istemci sertifikasının sunucuyla eşleşmediği bir mTLS bağlama işlemi), bağlantıyı kuran görev -EACCES ile uyandırılır ve çıkar, bağlama çağırıcısı rpc_shutdown_client() fonksiyonunu tetikler ve kuyruktaki connect_worker çalışmadan önce üst rpc_clnt serbest bırakılır. Ardından xs_tcp_tls_setup_socket() serbest bırakılan clnt'ye erişmeye çalışır ve bu da Michael Nemanov tarafından bildirilen refcount_t alt taşmasına (underflow) neden olur. Yeni bir rpc_hold_client() yardımcı fonksiyonu aracılığıyla, TLS taşıyıcıları için xs_connect() içerisinde üst rpc_clnt üzerinde bir referans alınmış ve bu referans connect_worker çıkış yolunda rpc_release_client() ile kaldırılmıştır. xprt_lock_connect() / xprt_unlock_connect() eşleşmesi zaten xs_connect() ile xs_tcp_tls_setup_socket() işlemlerini sıralı hale getirdiğinden, referans alma ve bırakma işlemleri birebir dengelenmiştir. TLS dışı bağlantı worker'ı (xs_tcp_setup_socket) asla sock_xprt::clnt değerini okumaz, bu nedenle o yola dokunulmamış ve aksi takdirde xprt imhasını engelleyecek olan clnt-holds-xprt-holds-clnt döngüsünün önüne geçilmiştir.
Nasıl düzeltilir
- Linux Linux79cd550f8c884523b604fbfa43eb02def74d6224, 7a65b41b657b71d5a77861f47dd13eb4bc8e10d0, 5b0427ba582d143a364301f825f4e32272f06d2d, d49f6d098ed48775b9d27a9f9c5c220fdf76f102, 46bc86c833956219bbfd246c1ffd832a479c5199 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 75eb6af7acdf566c68d61e98e67ee2f235201c02 ≤ v < 79cd550f8c884523b604fbfa43eb02def74d6224, 75eb6af7acdf566c68d61e98e67ee2f235201c02 ≤ v < 7a65b41b657b71d5a77861f47dd13eb4bc8e10d0, 75eb6af7acdf566c68d61e98e67ee2f235201c02 ≤ v < 5b0427ba582d143a364301f825f4e32272f06d2d, 75eb6af7acdf566c68d61e98e67ee2f235201c02 ≤ v < d49f6d098ed48775b9d27a9f9c5c220fdf76f102, 75eb6af7acdf566c68d61e98e67ee2f235201c02 ≤ v < 46bc86c833956219bbfd246c1ffd832a479c5199, 6.5 | 79cd550f8c884523b604fbfa43eb02def74d6224, 7a65b41b657b71d5a77861f47dd13eb4bc8e10d0, 5b0427ba582d143a364301f825f4e32272f06d2d, d49f6d098ed48775b9d27a9f9c5c220fdf76f102, 46bc86c833956219bbfd246c1ffd832a479c5199 |
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.