« Tüm yayınlar

Linux Bridge STP Zamanlayıcılarında Use-After-Free Açığı

Linux bridge STP zamanlayıcılarında use-after-free zafiyeti; dellink teardown yolu timer'ları iptal etmiyor, kontrol akışı ele geçirmeye yol açabiliyor.

Linux çekirdeğinin köprü (bridge) alt sisteminde, Spanning Tree Protocol zamanlayıcılarının yönetimi kaynaklı ciddi bir use-after-free zafiyeti tespit edildi. Bir bridge arayüzü yönetimsel olarak kapalıyken kernel STP etkinse ve bir port LEARNING durumuna geçiyorsa, periyodik STP zamanlayıcıları IFF_UP kontrolü olmadan devreye giriyor. Bu zamanlayıcılar net_device yapısının özel veri alanında gömülü olan net_bridge içinde yaşıyor; ancak dellink üzerinden yapılan silme işlemi bu zamanlayıcıları senkron biçimde iptal etmiyor.

Sonuç olarak net_device serbest bırakılırken zamanlayıcı listesi hâlâ CPU başına bir zamanlayıcı tabanına bağlı kalıyor. Zamanlayıcı tetiklendiğinde çekirdek, kmalloc-cg-8k slab önbelleğinde serbest bırakılmış belleğe erişiyor. Saldırgan bu boşluğu kontrollü bir buffer ile doldurabilirse, call_timer_fn çağrısı sırasında fonksiyon işaretçisi ele geçirilerek kontrol akışı ele geçirme (control-flow hijacking) sağlanabiliyor.

Açık, TyphoonPWN 2026 yarışmasında n132 ve sven sze tarafından bağımsız olarak bildirildi ve Linux PE kategorisinde ikincilik kazandı. Sorun, ndo_stop ve dellink teardown yolları arasındaki asimetriden kaynaklanıyor: ilki STP zamanlayıcılarını güvenli şekilde iptal ederken ikincisi bu adımı atlıyor. Çekirdek geliştiricileri konuyu 2a00517db8de commit'i ile düzelttiler; etkilenen sistemlerin güncellenmesi öneriliyor.

Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz