CVE-2026-90018
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: staging: rtl8723bs: rtw_get_wps_attr() fonksiyonundaki OOB okuma / yığın taşması hatası düzeltildi rtw_get_wps_attr(), bir kablosuz yönetim çerçevesinden alınan WPS IE içerisindeki WPS öznitelikleri arasında gezinir. Her aday öznitelik için yalnızca sabit 4 baytlık öznitelik başlığının (2 bayt kimlik + 2 bayt uzunluk) IE içine sığdığını kontrol eder: if (attr_ptr + 4 > wps_ie + wps_ielen) break; u16 attr_id = get_unaligned_be16(attr_ptr); u16 attr_data_len = get_unaligned_be16(attr_ptr + 2); u16 attr_len = attr_data_len + 4; attr_data_len (ve dolayısıyla attr_len) doğrudan ağ üzerinden okunur ve şu işlemin boyutu olarak kullanılmadan önce IE içindeki kalan baytlara karşı hiçbir zaman kontrol edilmez: memcpy(buf_attr, attr_ptr, attr_len); attr_len tamamen saldırgan tarafından kontrol edilebildiği için (0 ile 65535+4 arası), bu durum hem wps_ie üzerinde bir heap OOB okumasına hem de daha ciddi şekilde, buf_attr'ın tek baytlık bir yığın değişkeni olduğu çeşitli çağrı noktalarında bir yığın arabellek taşmasına yol açar; örneğin rtw_get_wps_attr_content() çağıranlarının WPS_ATTR_SELECTED_REGISTRAR değerini yığında bulunan bir "u8 sr"/"u8 selected_registrar" değişkenine aktarması (drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c, drivers/staging/rtl8723bs/core/rtw_mlme_ext.c). Bu nedenle, tarama sırasında işlenen bir beacon veya probe yanıtındaki özel olarak hazırlanmış bir WPS IE, ayrıştırma iş parçacığının yığınını bozabilir. rtw_get_wps_attr_content() fonksiyonunun kendisinin bağımsız bir uzunluk kontrolü yoktur ve rtw_get_wps_attr() fonksiyonundan aldığı attr_len değerine güvenmektedir; bu nedenle buradaki sınırlandırmanın düzeltilmesi ilgili çağırıcıyı da düzeltmektedir. Yukarıdaki "attr_ptr + 4 > wps_ie + wps_ielen" başlık kontrolü, sabit başlığı sınırlandıran ancak kontrolü onu takip eden değişken uzunluktaki öznitelik verilerini kapsayacak şekilde genişletmeyen 1463ca3ec6601 ("staging: rtl8723bs: fix OOB reads in rtw_get_sec_ie(), rtw_get_wapi_ie(), and rtw_get_wps_attr()") commit'i ile eklenmişti. Eksik olan bu kontrol, attr_len değeri bir memcpy() uzunluğu olarak kullanılmadan veya eşleşme olarak kabul edilmeden önce eklenmiştir.
Nasıl düzeltilir
- Linux Linux931640dfcb8cfa08f6cfb46229716d8072356420, 3a6457ebf39080b87c712657fdb38f34a24fc3ff, fd5e24ea8373347d0352f153a66e8647337d1b10, a53d1ac9ce63db07943b2b2248111003851fb00f, ff61aa3289355dafa811550a1764691cd1f5d33b, 34f51d196c43a42046d229de5e79025d5ca553ca, 99aa998dec83ba180822f70e6d48a514fc81c20d ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 554c0a3abf216c991c5ebddcdb2c08689ecd290b ≤ v < 931640dfcb8cfa08f6cfb46229716d8072356420, 554c0a3abf216c991c5ebddcdb2c08689ecd290b ≤ v < 3a6457ebf39080b87c712657fdb38f34a24fc3ff, 554c0a3abf216c991c5ebddcdb2c08689ecd290b ≤ v < fd5e24ea8373347d0352f153a66e8647337d1b10, 554c0a3abf216c991c5ebddcdb2c08689ecd290b ≤ v < a53d1ac9ce63db07943b2b2248111003851fb00f, 554c0a3abf216c991c5ebddcdb2c08689ecd290b ≤ v < ff61aa3289355dafa811550a1764691cd1f5d33b, 554c0a3abf216c991c5ebddcdb2c08689ecd290b ≤ v < 34f51d196c43a42046d229de5e79025d5ca553ca, 554c0a3abf216c991c5ebddcdb2c08689ecd290b ≤ v < 99aa998dec83ba180822f70e6d48a514fc81c20d, 4.12 | 931640dfcb8cfa08f6cfb46229716d8072356420, 3a6457ebf39080b87c712657fdb38f34a24fc3ff, fd5e24ea8373347d0352f153a66e8647337d1b10, a53d1ac9ce63db07943b2b2248111003851fb00f, ff61aa3289355dafa811550a1764691cd1f5d33b, 34f51d196c43a42046d229de5e79025d5ca553ca, 99aa998dec83ba180822f70e6d48a514fc81c20d |
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.