CVE-2026-97952
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: sunvdc: tanımlayıcı gönderimi başarısız olduğunda LDC çerezlerini eşleşmeden çıkar (unmap) __send_request() fonksiyonu, isteğin sayfalarını LDC kanalının eşleme tablosuna (ldc_map_sg()) eşler, tanımlayıcıyı doldurur ve __vdc_tx_trigger() aracılığıyla kapı zili çalınmadan önce onu VIO_DESC_READY olarak işaretler. Tetikleyici başarısız olduğunda, hata yolu yalnızca bir mesaj yazdırır: tanımlayıcı READY durumunda kalır ve çerezler asla eşleşmeden çıkarılmaz. Eşleme normalde karşı taraf tanımlayıcıyı tamamladığında vdc_end_one() içinde serbest bırakılır; ancak kapı zili hiç gönderilmemiş bir tanımlayıcı asla tamamlanmaz ve başarısızlık durumunda dr->prod ilerlemediği için sıfırlama yolu ([cons, prod) aralığını tarayan vdc_requeue_inflight()) burayı hiçbir zaman ziyaret etmez. Eşleme tablosu girişleri kalıcı olarak sızdırılır. a11f6ca9aef9 ("sunvdc: vio_ldc_send() EAGAIN döndürdüğünde sonsuz döngüde dönmeyin") commit'inden beri tetikleme hataları pratikte yük altında meydana gelmektedir; bu nedenle ortaya çıkan her G/Ç hatası, sabit boyutlu (kanal başına 8192 giriş) eşleme tablosundan bir istek değerinde giriş sızdırır. Tahsis edici bitişik aralıklar verdiği için, tablo boşaldıkça parçalanma nedeniyle büyük çok segmentli istekler önce başarısız olur, ta ki ldc_map_sg() kalıcı olarak başarısız olana ve disk yeniden başlatılana kadar kullanılamaz hale gelene dek. Bu durum ayrıca yeniden deneme tabanlı herhangi bir kurtarmayı da kullanılamaz hale getirir: İsteğin -EAGAIN durumunda yeniden kuyruğa alınması, her denemede sayfaları yeniden eşleyerek desc->cookies üzerine yazar ve önceki eşlemeyi öksüz bırakır, böylece tablo yeniden deneme hızında boşalır. Bu, yeniden kuyruğa alma yaklaşımı ilk kez Ekim 2025'te test edildiğinde gözlemlenen bellek tükenmesidir. Hata durumunda geri al: Çerezleri eşleşmeden çıkar, tanımlayıcıyı tekrar FREE olarak işaretle ve istek girişini temizle. Eğer tetikleyici -ENOTCONN ile başarısız olduysa, __vdc_tx_trigger() portu zaten sıfırlamıştır; bu işlem hem dring'i hem de eşleme tablosunu içeren LDC kanalını yıkar ve yeniden tahsis eder - geri alınacak bir şey yoktur ve bayat tanımlayıcıya dokunulmamalıdır.
Nasıl düzeltilir
- Linux Linuxeb9c5f6747fe98b83c78cb5476a914e91d50e8e8, 24564576be423f3b5d7e67cd7df848ac66646497, 9251573e7cf7d797ae4a30b2a236af8242237a61, b0de6463667e9bb9dc14a83a9c24c1b6b3f7b5f7, ab81a5c1014a38dab0fb402609fd866b0bcb4726, 57835952566f0be9b365a6eb3a70b397a9d5ef47, f3322baa3a8ac87730feae952c1146269d78e098, 0c6da21fa35e03fc74f09895433ccd6d4a9c3530, 4.5, 4.10, 4.15, 4.20, 4.21 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | a11f6ca9aef989b56cd31ff4ee2af4fb31a172ec ≤ v < eb9c5f6747fe98b83c78cb5476a914e91d50e8e8, a11f6ca9aef989b56cd31ff4ee2af4fb31a172ec ≤ v < 24564576be423f3b5d7e67cd7df848ac66646497, a11f6ca9aef989b56cd31ff4ee2af4fb31a172ec ≤ v < 9251573e7cf7d797ae4a30b2a236af8242237a61, a11f6ca9aef989b56cd31ff4ee2af4fb31a172ec ≤ v < b0de6463667e9bb9dc14a83a9c24c1b6b3f7b5f7, a11f6ca9aef989b56cd31ff4ee2af4fb31a172ec ≤ v < ab81a5c1014a38dab0fb402609fd866b0bcb4726, a11f6ca9aef989b56cd31ff4ee2af4fb31a172ec ≤ v < 57835952566f0be9b365a6eb3a70b397a9d5ef47, a11f6ca9aef989b56cd31ff4ee2af4fb31a172ec ≤ v < f3322baa3a8ac87730feae952c1146269d78e098, a11f6ca9aef989b56cd31ff4ee2af4fb31a172ec ≤ v < 0c6da21fa35e03fc74f09895433ccd6d4a9c3530, 627e656239c63d8a81672d08de7885e89c12fa75, a1ef7d5da9b2c145f811a80bb8197df6037a7572, 7ab4b6526fdcdfa7772984bbcd2ac4fd14fa223b, 3fbba4e55051d01a72b56ea192064175924bf56a, 3e380fc2ae4d18210eec9c472b12e2b2544f7dc1, 4.4.175 ≤ v < 4.5, 4.9.156 ≤ v < 4.10, 4.14.99 ≤ v < 4.15, 4.19.21 ≤ v < 4.20, 4.20.8 ≤ v < 4.21, 5.0 | eb9c5f6747fe98b83c78cb5476a914e91d50e8e8, 24564576be423f3b5d7e67cd7df848ac66646497, 9251573e7cf7d797ae4a30b2a236af8242237a61, b0de6463667e9bb9dc14a83a9c24c1b6b3f7b5f7, ab81a5c1014a38dab0fb402609fd866b0bcb4726, 57835952566f0be9b365a6eb3a70b397a9d5ef47, f3322baa3a8ac87730feae952c1146269d78e098, 0c6da21fa35e03fc74f09895433ccd6d4a9c3530, 4.5, 4.10, 4.15, 4.20, 4.21 |
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.