CVE-2025-40002
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: thunderbolt: tb_dp_dprx_work içindeki serbest bırakıldıktan sonra kullanım hatası düzeltildi Özgün kod, tb_dp_dprx_stop() içindeki cancel_delayed_work() işlevine dayanmaktadır; bu işlev, gecikmeli iş öğesi tunnel->dprx_work zaten çalışıyorsa tamamen tamamlandığını garanti etmez. Bu durum, tb_tunnel tb_tunnel_put() tarafından serbest bırakılırken tunnel->dprx_work öğesinin etkin kalması ve tb_dp_dprx_work() içinde tb_tunnel öğesine başvurmaya çalışmasıyla serbest bırakıldıktan sonra kullanım senaryolarına yol açar. Tipik bir yarış durumu aşağıda gösterilmiştir: CPU 0 | CPU 1 tb_dp_tunnel_active() | tb_deactivate_and_free_tunnel()| tb_dp_dprx_start() tb_tunnel_deactivate() | queue_delayed_work() tb_dp_activate() | tb_dp_dprx_stop() | tb_dp_dprx_work() //delayed worker cancel_delayed_work() | tb_tunnel_put(tunnel); | | tunnel = container_of(...); //UAF | tunnel-> //UAF cancel_delayed_work() işlevinin cancel_delayed_work_sync() ile değiştirilmesi, kilitlenmeye yol açacağından uygulanabilir değildir: hem tb_dp_dprx_work() hem de temizleme yolu tb->lock kilidini alır ve cancel_delayed_work_sync() ilerleyemeyen iş öğesini süresiz olarak bekler. Bunun yerine uygun başvuru sayımı uygulanmıştır: - cancel_delayed_work() true döndürürse (iş beklemedeyse), başvuruyu durdurma işlevinde serbest bırakırız. - false döndürürse (iş yürütülüyorsa veya zaten tamamlanmışsa), başvuru gecikmeli iş işlevinin kendisinde serbest bırakılır. Bu, bellek sızıntılarını önlerken iş öğesinin yürütülmesi sırasında tb_tunnel öğesinin geçerli kalmasını sağlar. Bu hata statik analiz ile bulunmuştur.
Nasıl düzeltilir
- Linux Linuxc07923f6a8729fc27ee652221a51702ff6654097, 67600ccfc4f38ebd331b9332ac94717bfbc87ea7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | d6d458d42e1e1544a18f37f1d5c840e00d5261b9 ≤ v < c07923f6a8729fc27ee652221a51702ff6654097, d6d458d42e1e1544a18f37f1d5c840e00d5261b9 ≤ v < 67600ccfc4f38ebd331b9332ac94717bfbc87ea7, 6.14 | c07923f6a8729fc27ee652221a51702ff6654097, 67600ccfc4f38ebd331b9332ac94717bfbc87ea7 |
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.