CVE-2025-37864
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: dsa: ayırma işlemi sırasında (unbind) FDB, MDB ve VLAN girişlerini temizle b117e1e8a86d ("net: dsa: dsa_legacy_fdb_add ve dsa_legacy_fdb_del fonksiyonlarını sil") commit'inde olduğu gibi birçok yerde açıklandığı üzere; DSA, üst katmanların ekleme ve silme işlemlerini dengeli bir şekilde gerçekleştirdiği varsayımıyla yazılmıştır. Bu nedenle, bu varsayımların ihlal edildiği ve sürücünün hala mevcut girişler varken ayrıldığı durumlarda aşırı uyarı verilmesi mantıklıdır. Ancak Ido Schimmel, bunun yanlış olduğu çok basit bir durumu belirtmiştir: https://lore.kernel.org/netdev/ZDazSM5UsPPjQuKr@shredder/ (bu durum yukarıda bahsedilen commit'te tarafımdan da kısaca tartışılmıştır). Temel olarak, köprü baypas (bridge bypass) işlemleri DSA tarafından açıkça belgelenmiş bir şey olmasa ve çoğu DSA sürücüsü için bu API sadece promiscuous moda geçmelerine neden olsa da, tüm sürücüler için durum böyle değildir. Bazıları, köprü baypas işlemlerinin yararlı bir sonuç vermesi için gerekli gereksinimlere sahiptir - bkz. dsa_switch_supports_uc_filtering(). tools/testing/selftests/net/forwarding/local_termination.sh dosyasında, kullanıcı alanından DSA arayüzleri üzerindeki adres filtrelerini yönetmek için daha iyi mekanizmaları popüler hale getirme çabası göstermiş olsak da - yani unicast için macvlan ve multicast için mtools aracılığıyla setsockopt(IP_ADD_MEMBERSHIP) - gerçek şu ki 'bridge fdb add ... self static local' komutu da çekirdek UAPI olarak mevcuttur ve hızlı bir çözüm için bile olsa birileri için yararlı olabilir. ndo_dflt_fdb_add() ve ndo_dflt_fdb_del() fonksiyonlarının çalışmasını önlemek amacıyla, yalnızca -EOPNOTSUPP döndüren shim .ndo_fdb_add ve .ndo_fdb_del operasyonları uygulayarak bu yolu engellemenin verimsiz olduğu görülmektedir, her ne kadar bunu yapabilsek de. Temizliğin gerekli olduğunu kabul etmek tek seçenek gibi görünmektedir. Özellikle konuya farklı bir açıdan da yaklaşıyor olduğumuz görülmektedir. Russell King, WARN_ON() ifadesinin VLAN'lar için bile tetiklendiğini fark etmiştir: https://lore.kernel.org/netdev/[email protected]/ Yukarıdaki hata raporunda gerçekleşen olay şudur: dsa_port_do_vlan_del() başarısız olur, ardından VLAN girişi kalır ve sonrasında ayırma (unbind) işleminde uyarı verilerek sızıntıya yol açılır. Bu, hatalı olan commit'in doğrudan geri alınması değildir; ancak artık (hataların varlığını görmeye devam edebilmek için) çekirdek günlüğüne bilgilendirici bir yazdırma işlemi ve mantığı gerekçelendirmek için geçmiş yılların deneyimlerinden elde edilen bazı ek yorumlar eklenmiştir.
Nasıl düzeltilir
- linux linux_kernel6.6.88, 6.12.25, 6.14.4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.18 ≤ v < 6.6.88, 6.7 ≤ v < 6.12.25, 6.13 ≤ v < 6.14.4, 6.15 | 6.6.88, 6.12.25, 6.14.4 |
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.