CVE-2026-68222
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: media: msi2500: start_streaming() hatasında kuyruğa alınan arabellekleri döndür vb2 çerçevesi, start_streaming() çağrılmadan önce arabellekleri buf_queue() aracılığıyla sürücüye verir. start_streaming() bu arabellekleri vb2_buffer_done() aracılığıyla döndürmeden bir hata döndürürse, vb2_start_streaming() WARN_ON(owned_by_drv_count) uyarısını tetikler ve kuyruğa alınan arabellekler sızar. msi2500_start_streaming() bu tuzağa düşen beş hata yoluna sahipti ve ayrıca çağrılar arasında ret değerinin üzerine yazılmasıyla daha da karmaşık hale gelmişti: - USB aygıtı zaten bağlantısı kesilmişse -ENODEV - mutex_lock_interruptible() kesintiye uğrarsa -ERESTARTSYS - msi2500_set_usb_adc() hatası: ret, sonraki çağrı (msi2500_isoc_init) tarafından sessizce üzerine yazıldı, böylece hata tamamen kayboldu - msi2500_isoc_init() hatası: cleanup_queued_bufs çağrıldı, ancak işlev daha sonra msi2500_ctrl_msg() çağrısına düştü ve ret değerinin üzerine yazarak özgün hatayı yeniden maskeledi - msi2500_ctrl_msg(CMD_START_STREAMING) hatası: hiçbir temizlik yapılmadı, isoc URB'leri gönderilmiş halde bırakıldı ve sürücünün bunları tüketmesinin hiçbir yolu kalmadı Hata yollarını küçük bir goto zincirinde birleştirin. Artık her hata işlevi durdurur, kuyruğa alınan arabellek listesini boşaltır ve gerçek hata kodunu döndürür. ctrl_msg hata yolu ayrıca kilidi açmadan ve boşaltmadan önce msi2500_isoc_cleanup() aracılığıyla önceki msi2500_isoc_init() işlemini geri alır. Temizlik yardımcısı bir vb2_buffer_state bağımsız değişkeni alır, böylece start_streaming hata yolları VB2_BUF_STATE_QUEUED değerini geçebilir (start_streaming hatasında kullanıcı alanının beklediği gibi), stop_streaming ise mevcut VB2_BUF_STATE_ERROR semantiğini korur. Bu, 4cf3b6fd54eb ("media: uvcvideo: Return queued buffers on start_streaming() failure") commit'indeki uvcvideo düzeltmesini yansıtır.
Nasıl düzeltilir
- Linux Linuxc74b680704baecea4620c0774de473069e0bc4e8, 2d10eedb786a13f91d76e11320fabb0bf712519f, 2de14ddb4fea04ca616403a6ba81c5e8099e9b9e, 1d58229b330b7f67fbfa07e0f2a8a51fbeafaa9a, bab9d5a67d4db96ae8c187b92b37979911302a10, 264b5380c4f8aa92dbc2983ecd2b627f1d5e0061, 3673cb0a5711e910074d69201da9e1535c03f97a, 7201c17786a498497bca57752883b90914d405ac ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < c74b680704baecea4620c0774de473069e0bc4e8, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 2d10eedb786a13f91d76e11320fabb0bf712519f, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 2de14ddb4fea04ca616403a6ba81c5e8099e9b9e, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 1d58229b330b7f67fbfa07e0f2a8a51fbeafaa9a, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < bab9d5a67d4db96ae8c187b92b37979911302a10, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 264b5380c4f8aa92dbc2983ecd2b627f1d5e0061, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 3673cb0a5711e910074d69201da9e1535c03f97a, 977e444f59ad16eedf66acae4f357011c74da291 ≤ v < 7201c17786a498497bca57752883b90914d405ac, 3.12 | c74b680704baecea4620c0774de473069e0bc4e8, 2d10eedb786a13f91d76e11320fabb0bf712519f, 2de14ddb4fea04ca616403a6ba81c5e8099e9b9e, 1d58229b330b7f67fbfa07e0f2a8a51fbeafaa9a, bab9d5a67d4db96ae8c187b92b37979911302a10, 264b5380c4f8aa92dbc2983ecd2b627f1d5e0061, 3673cb0a5711e910074d69201da9e1535c03f97a, 7201c17786a498497bca57752883b90914d405ac |
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.