CVE-2026-68213
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: media: rtl2832_sdr: start_streaming() hatasında kuyruğa alınmış tamponların iade edilmesi vb2 çerçevesi, start_streaming() fonksiyonunu çağırmadan önce buf_queue() aracılığıyla sürücüye tamponlar iletir. Eğer start_streaming(), bu tamponları vb2_buffer_done() üzerinden iade etmeden bir hata döndürürse, vb2_start_streaming() fonksiyonu WARN_ON(owned_by_drv_count) tetikler ve kuyruğa alınmış tamponlar sızdırılır. rtl2832_sdr_start_streaming() fonksiyonunda bu tuzağa düşen birden fazla hata yolu bulunmaktaydı: iki doğrudan erken dönüş (-ENODEV, -ERESTARTSYS) ve ayrıca subdev s_power, tuner kurulumu, ADC kurulumu, akış tamponu tahsisi, urb tahsisi ve urb gönderim hatalarını kapsayan altı `goto err` yolu. Bunların hiçbiri kuyruğa alınmış tamponları iade etmiyordu. Orijinal fonksiyonun belirgin bir başarı çıkışı yoktu ve doğrudan önceden sadece mutex_unlock ve "return ret" işlemlerini yapan err etiketine geçiyordu. Bu nedenle, err etiketine kuyruğa alınmış tampon temizliği eklenmesi, açık bir başarı dönüşüyle eşleştirilmelidir; aksi takdirde her başarılı başlatma işlemi de tampon kuyruğunu boşaltacak ve akışı sonlandıracaktır. Başarı dönüşü eklendi, ardından err etiketi altına ve her erken dönüşten öncesine rtl2832_sdr_cleanup_queued_bufs() eklendi. Temizlik yardımcısı, start_streaming hata yollarının (start_streaming hatasında kullanıcı alanı tarafından beklendiği üzere) VB2_BUF_STATE_QUEUED değerini geçirebilmesi için bir vb2_buffer_state argümanı alır; stop_streaming ise mevcut VB2_BUF_STATE_ERROR semantiğini korur. Bu işlem, 4cf3b6fd54eb numaralı committe yer alan uvcvideo düzeltmesinin ("media: uvcvideo: Return queued buffers on start_streaming() failure") benzeridir. err etiketi hala power_ctrl(), frontend_ctrl(), POWER_ON bayrağını veya başarısız adımdan önce gerçekleşmiş olabilecek akış/URB tahsislerini geri almamaktadır. Bunlar farklı sınıfta olan mevcut sızıntılardır ve burada ele alınmamıştır.
Nasıl düzeltilir
- Linux Linuxfd1e11fc3849169285e48b2d4ec441614ad2ea74, 772f2550fe32357557d3b2f88e02f7cf477f0789, a248273f8af6e630a03e823274385725974009b5, 465dc8e71d2db2ed603e749fa71392bcdccf07eb, 0b08c0403cf672a121ace4eff647a9b240bd4e1b, 894e83509c66910112b9eaeaa8cd66cd9806db91, fc0b18782aab4e35078efe72863df8eab46560a8, 33ca0aab6f4bd90921fc1395478f38f72c4d19af ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < fd1e11fc3849169285e48b2d4ec441614ad2ea74, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 772f2550fe32357557d3b2f88e02f7cf477f0789, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < a248273f8af6e630a03e823274385725974009b5, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 465dc8e71d2db2ed603e749fa71392bcdccf07eb, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 0b08c0403cf672a121ace4eff647a9b240bd4e1b, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 894e83509c66910112b9eaeaa8cd66cd9806db91, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < fc0b18782aab4e35078efe72863df8eab46560a8, 771138920eafa399f68d3492c8a75dfeea23474b ≤ v < 33ca0aab6f4bd90921fc1395478f38f72c4d19af, 3.15 | fd1e11fc3849169285e48b2d4ec441614ad2ea74, 772f2550fe32357557d3b2f88e02f7cf477f0789, a248273f8af6e630a03e823274385725974009b5, 465dc8e71d2db2ed603e749fa71392bcdccf07eb, 0b08c0403cf672a121ace4eff647a9b240bd4e1b, 894e83509c66910112b9eaeaa8cd66cd9806db91, fc0b18782aab4e35078efe72863df8eab46560a8, 33ca0aab6f4bd90921fc1395478f38f72c4d19af |
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.