← CVE Veritabanı

CVE-2024-36971

Yüksek CISA KEV: Aktif İstismar

Teknik Veri (Otomatik)

CVSS Skoru
7.8
EPSS
2.7%
CWE
CWE-416
KEV Durumu
Evet

Yayım tarihi: 10 Haziran 2024 · CISA KEV son iyileştirme tarihi: 28 Ağustos 2024

Etkilenen: debian debian_linux

Linux çekirdeğinde aşağıdaki güvenlik açığı çözülmüştür: net: __dst_negative_advice() yarışını düzelt __dst_negative_advice(), sk->dst_cache temizlenmesi gerektiğinde uygun RCU kurallarını zorlamadığından, olası UAF'ye neden olabilir. RCU kuralları, önce sk->sk_dst_cache'yi temizlememiz, ardından dst_release(old_dst)'i çağırmamız gerektiğini belirtir. sk_dst_reset(sk), bu protokolü doğru bir şekilde uygularken, __dst_negative_advice() yanlış sırayı kullanır. ip6_negative_advice()'in RTF_CACHE karşı özel mantığı bulunması, mevcut üç ->negative_advice() yönteminin de kendileri sk_dst_reset()'i gerçekleştirmesi gerektiğini gösterir. NULL dst karşı kontrolün __dst_negative_advice()'de merkezileştirilmiş olduğu ve çeşitli geri çağrımlarda bu kontrolün tekrarlanmasına gerek olmadığı unutulmamalıdır. Bu sorunu takip ettiği için Clement Lecigne'ye teşekkür ederiz. Bu eski hata, UDP soketlerini kullandığımızda suçlanan commit之后 görünür hale geldi.

Orijinal açıklama (İngilizce)

In the Linux kernel, the following vulnerability has been resolved: net: fix __dst_negative_advice() race __dst_negative_advice() does not enforce proper RCU rules when sk->dst_cache must be cleared, leading to possible UAF. RCU rules are that we must first clear sk->sk_dst_cache, then call dst_release(old_dst). Note that sk_dst_reset(sk) is implementing this protocol correctly, while __dst_negative_advice() uses the wrong order. Given that ip6_negative_advice() has special logic against RTF_CACHE, this means each of the three ->negative_advice() existing methods must perform the sk_dst_reset() themselves. Note the check against NULL dst is centralized in __dst_negative_advice(), there is no need to duplicate it in various callbacks. Many thanks to Clement Lecigne for tracking this issue. This old bug became visible after the blamed commit, using UDP sockets.

Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.