CVE-2021-47304

Orta

Açıklama

Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: tcp: icsk_ca_initialized değerini sıfırlamaması için tcp_init_transfer() düzeltildi Bu commit, tıkanıklık kontrol modülleri için hatalı çift başlatmalara neden olabilen ve init fonksiyonlarında bellek tahsis eden tıkanıklık kontrol modülleri (CDG gibi) için bellek sızıntılarına veya diğer sorunlara yol açabilen bir hatayı (syzkaller tarafından bulunan) düzeltmektedir. syzkaller tarafından oluşturulan hatalı senaryo şuna benzerdir: (1) Bir TCP soketi oluşturulur (2) sendto() aracılığıyla bir TFO bağlantısı başlatılır (3) Soket TCP_SYN_SENT durumundayken, şunları çağıran setsockopt(TCP_CONGESTION) çağrılır: tcp_set_congestion_control() -> tcp_reinit_congestion_control() -> tcp_init_congestion_control() (4) ACK alınır, bağlantı kurulur, tcp_init_transfer() çağrılır, icsk_ca_initialized=0 olarak ayarlanır (önce cc->release() çağrılmadan), tcp_init_congestion_control() tekrar çağrılır. Bu dizide, arada bir cc->release() çağrısı olmadan tcp_init_congestion_control() fonksiyonunun iki kez çağrıldığına dikkat edin. Bu nedenle, init() fonksiyonunda bellek tahsis eden CC modülleri (örneğin CDG) için bir bellek sızıntısı meydana gelebilir. syzkaller aracı, CDG'de böyle bir sızıntıyı tetikleyen bir yeniden üretici bulmayı başarmıştır. Hata, 8919a9b31eb4 ("tcp: Only init congestion control if not initialized already") numaralı commit ile icsk_ca_initialized tanıtıldığında ve tcp_init_transfer() içinde icsk_ca_initialized değeri 0 olarak ayarlandığında ortaya çıkmıştır. Burada, bir işlemin TCP_SYN_SENT durumunda (yani connect() veya TFO open sendmsg() işleminden sonra) setsockopt(TCP_CONGESTION) çağırarak tcp_init_congestion_control() fonksiyonunu çağırabileceği yukarıdaki gibi bir dizi olasılığı gözden kaçırılmıştır. Amaç kullanıcının halihazırda açıkça yaptığı herhangi bir başlatmayı sıfırlamak değildi; sadece bu özel dizinin olasılığı (syzkaller'ın bulduğu) atlanmıştı.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın21 May 2024
İlk görülme21 May 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.10.53, 5.13.5 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.10 ≤ v < 5.10.53, 5.11 ≤ v < 5.13.5, 5.145.10.53, 5.13.5

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.

Intelligence 360 paketinde

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.

CVE-2021-47304 · Linux Kernel · Dark Radar