CVE-2026-14696
Açıklama
Ethernet köprüleme etkinleştirildiğinde (CONFIG_NET_ETHERNET_BRIDGE), subsys/net/l2/ethernet/bridge/bridge_input.c dosyasındaki eth_bridge_input_process() fonksiyonu, bir köprü üye arayüzünde alınan her çerçevenin nasıl işleneceğine karar verir. Yerel yığına da iletilmesi gereken çerçeveler için kod, eth_bridge_handle_locally() fonksiyonunu çağırır ve NET_OK döndürür. Bu yardımcı fonksiyon paketi tüketmez; yalnızca pkt sahipliğini almadan NET_CONTINUE döndüren bridge_iface_recv() fonksiyonunu (virtual_recv() aracılığıyla) çağırır. Ardından NET_OK kararı, ethernet_recv() üzerinden subsys/net/ip/net_core.c dosyasındaki processing_data() fonksiyonuna kadar yayılır ve burada NET_OK, "paket tüketildi, serbest bırakmayın" şeklinde yorumlanır. Gerçekte hiçbir tüketici sahipliği almadığı için, RX net_pkt havuza asla iade edilmez ve sızıntı oluşur. Somut olarak yeniden üretilebilir sızıntı, CONFIG_NET_ETHERNET_FORWARD_UNRECOGNISED_ETHERTYPE ayarlı olduğunda (CONFIG_NET_SOCKETTS_PACKET etkinse varsayılan y'dir), EtherType değeri kayıtlı bir L3 işleyicisine sahip olmayan çerçeveler için meydana gelir: ardışık L3 dağıtımı NET_OK kararını üzerine yazmaz, bu nedenle ethernet_recv() NET_OK döndürür ve tampon bellek asla serbest bırakılmaz. Köprülenmiş bir L2 segmentindeki herhangi bir cihaz, kimlik doğrulama olmaksızın rastgele bir EtherType taşıyan yayın (broadcast)/çoklu yayın (multicast) çerçeveleri gönderebilir. Bu tür her çerçeve, sınırlı RX havuzundan (CONFIG_NET_PKT_RX_COUNT) kalıcı olarak bir tampon bellek tüketir; dolayısıyla kısa süreli bir yayın akını havuzu tüketir ve cihaz yeniden başlatılana kadar artık trafik alamaz — bu durum kalıcı bir hizmet reddine yol açar. Gizlilik veya bütünlük üzerinde bir etkisi yoktur. Düzeltme, eth_bridge_handle_locally() fonksiyonunun gerçek net_verdict değerini yaymasını ve yerelde tutulan çerçeveler için NET_CONTINUE döndürmesini sağlar; ayrıca köprü arayüzünü yeni bir dst_iface çıkış parametresi aracılığıyla geri yazar, böylece paket normal alma yolunu izler ve tam olarak bir kez referanssız hale getirilir.
Nasıl düzeltilir
- zephyrproject zephyr4.4.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| zephyrproject zephyr | 4.4.0 ≤ v < 4.4.2 | 4.4.2 |
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.