CVE-2026-43489

Orta

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: liveupdate: luo_file: retrieve() durumunu hatırla LUO, bir LUO dosyası üzerindeki başarılı retrieve denemelerini takip eder. Bunu, aynı dosyanın birden fazla kez getirilmesini önlemek için yapar. Birden fazla getirme işlemi sorunlara yol açar çünkü dosya bir kez getirildiğinde, serileştirilmiş veri yapıları muhtemelen serbest bırakılmıştır ve dosya, kodun beklediğinden çok farklı bir durumda olabilir. struct luo_file içindeki retrieve boolean değeri bunu takip eder ve hangi işlerin zaten yapıldığını ve nelerin kaldığını bilmesi için finish geri çağırma fonksiyonuna iletilir. Retrieve başarılı olduğunda tüm bunlar düzgün çalışır. Başarısız olduğunda ise luo_retrieve_file(), bir retrieve işleminin denendiğini veya hata kodunun ne olduğunu hiçbir yere kaydetmeden hatayı hemen döndürür. Bu durum, kullanıcı alanına hatalı bir LIVEUPDATE_SESSION_RETRIEVE_FD ioctl dönmesine neden olur ancak bunun tekrar denenmesini engelleyen bir şey yoktur. Yeniden deneme, yukarıda listelenen nedenlerin çoğuyla sorunludur. Dosya, retrieve mantığının normalde beklediğinden çok farklı bir durumda olabilir ve hatta bazı serileştirme veri yapılarını serbest bırakmış olabilir. Bunlara erişmeye çalışmak veya onları tekrar serbest bırakmak sistemin bozulmasına neden olacaktır. Örneğin, memfd 10 foliosundan 8'ini geri yüklemeyi başardıysa ancak 9.'sunda başarısız olursa, sonraki bir retrieve denemesi ilk folio üzerinde tekrar kho_restore_folio() çağırmaya çalışacak ve bu işlem geçersiz bir operasyon olduğu için bir uyarıyla başarısız olacaktır. Yeniden denemenin yanı sıra, finish() fonksiyonu da bozulur. Hata durumunda luo_file içindeki retrieved bool değerine hiç dokunulmadığı için, oturum kapatıldığında yapılan finish() çağrısı dosya yöneticisine retrieve işleminin hiç denenmediğini söyleyecek ve tıpkı yeniden deneme girişiminde olduğu gibi mevcut olmayabilecek veri yapılarına erişmeye veya onları serbest bırakmaya çalışacaktır. Retrieve işlemini tekrar denemenin makul bir yolu yoktur. Retrieve tarafından döndürülen hatayı hatırlayın ve bir yeniden deneme sırasında doğrudan bu hatayı döndürün. Ayrıca, yapması gereken iş hakkında doğru kararı verebilmesi için bu durum kodunu finish() fonksiyonuna iletin. Bu işlem, bool tipinin tam sayıya (integer) dönüştürülmesiyle gerçekleştirilmiştir. 0 değeri retrieve işleminin hiç denenmediği, pozitif bir değer başarılı olduğu ve negatif bir değer ise başarısız olduğu anlamına gelir; bu durumda hata kodu söz konusu değerdir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın13 May 2026
İlk görülme13 May 2026

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.19.9 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.19 ≤ v < 6.19.9, 7.06.19.9

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.