CVE-2026-98999

Yüksek

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: drm/xe: fb-pin son unpin işlemini gerçekleştirdiğinde bayat pinned_link girdisinin oluşması sorunu düzeltildi xe_bo_pin_external() ve xe_bo_unpin_external(), mevcut çağrının en dıştaki pin veya son unpin olup olmadığına bağlı olarak bo'nun xe->pinned.late.external içindeki pinned_link liste üyeliğini yönetir. Ancak aynı harici bo'nun pin_count değeri, xe_bo_pin_external()/xe_bo_unpin_external() üzerinden geçmeden bo'yu bir ekran tarama tamponu olarak pinleyen __xe_pin_fb_vma()/__xe_unpin_fb_vma() tarafından da doğrudan artırılıp azaltılabilir; bu fonksiyonların pinned_link hakkında bir bilgisi veya sahipliği yoktur. Bir bo hem harici olarak (örneğin dma-buf dışa aktarma) hem de bir fb olarak pinlenmişse ve önce harici unpin işlemi gerçekleşirse, xe_bo_unpin_external() doğru şekilde pin_count > 1 olduğunu gözlemler ve bo'yu pinned_link üzerinde bırakır. Daha sonra fb unpin işlemi gerçek son unpin işlemini (pin_count 1 -> 0) gerçekleştirdiğinde, pinned_link ile hiçbir etkileşime girmez ve bo'nun süresiz olarak xe->pinned.late.external üzerinde bağlantılı kalmasına neden olur. Bo daha sonra serbest bırakıldığında, bu bayat liste girdisi serbest bırakılmış belleğe işaret eder; bu durum listeyi bozar ve listenin bir sonraki taranması veya eklemlenmesi sırasında serbest bırakıldıktan sonra kullanım (use-after-free) riski oluşturur. xe_bo_notifier_prepare_pinned()/xe_bo_notifier_unprepare_pinned() içerisindeki yedek nesne pin/unpin noktaları da benzer bir atlama özelliğine sahiptir, ancak bo'larını asla bir pinli listeye eklemedikleri için bu özel liste bozulma sorunundan etkilenmezler. pinned_link kaldırma işlemi, her unpin yolunda (çekirdek, harici, çerçeve tamponu, yedek nesne) gerçek 1 -> 0 pin_count geçişinden hemen önce çalışan xe_bo_account_unpin() fonksiyonuna taşındı. list_del_init() yalnızca düğümün kendisi üzerinde işlem yaptığından, bu kaldırma işlemi listeden bağımsızdır ve bo'nun hangi listeye (external veya kernel_bo_present) bağlı olduğuna veya son unpin işlemini hangi kod yolunun gerçekleştirdiğine bakılmaksızın güvenle uygulanabilir. xe_bo_unpin_external() ve xe_bo_unpin() içerisindeki artık gereksiz hale gelen açık list_del_init() çağrıları kaldırıldı. v2: - Yeni yama v3: - Önceki yamadaki değişikliklere göre yeniden temellendirildi. (commit ca58d36a1f93af586ee93b340c9f9fd81312cc01 adresinden cherry pick yapılmıştır)

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünLinux
Yayın23 Eki 2026
İlk görülme23 Eki 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linux3a11adcfd9a2de74d405bd3e8c4d7a1b328e4684, b3eaff982839e5c22912d604cd8e7748cece8d63, cf238c067eaae1cbfb00738e29219b9568d2313e ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linux44e694958b95395bd1c41508c88c8ca141bf9bd7 ≤ v < 3a11adcfd9a2de74d405bd3e8c4d7a1b328e4684, 44e694958b95395bd1c41508c88c8ca141bf9bd7 ≤ v < b3eaff982839e5c22912d604cd8e7748cece8d63, 44e694958b95395bd1c41508c88c8ca141bf9bd7 ≤ v < cf238c067eaae1cbfb00738e29219b9568d2313e, 6.83a11adcfd9a2de74d405bd3e8c4d7a1b328e4684, b3eaff982839e5c22912d604cd8e7748cece8d63, cf238c067eaae1cbfb00738e29219b9568d2313e

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.