CVE-2026-46132
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: net: rtnetlink: rtnl_fill_vfinfo içinde yığın bilgi sızıntısını önlemek için ifla_vf_broadcast sıfırlanıyor rtnl_fill_vfinfo() işlevi, struct ifla_vf_broadcast yapısını yığın üzerinde başlatmadan bildirir: struct ifla_vf_broadcast vf_broadcast; Yapı, tek bir sabit 32 baytlık alan içerir: /* include/uapi/linux/if_link.h */ struct ifla_vf_broadcast { __u8 broadcast[32]; }; İşlev daha sonra dev->broadcast değerini, uzunluk olarak dev->addr_len kullanarak bu yapıya kopyalar: memcpy(vf_broadcast.broadcast, dev->broadcast, dev->addr_len); Ethernet aygıtlarında (SR-IOV NIC'lerin büyük çoğunluğu) dev->addr_len 6'dır, bu nedenle broadcast[] dizisinin yalnızca ilk 6 baytı yazılır. Kalan 26 bayt, çekirdek yığınında daha önce bulunan verileri korur. Ardından tam yapı, aşağıdaki çağrı ile kullanıcı alanına aktarılır: nla_put(skb, IFLA_VF_BROADCAST, sizeof(vf_broadcast), &vf_broadcast) Bu, RTM_GETLINK isteği başına VF başına 26 bayta kadar başlatılmamış çekirdek yığını verisinin sızmasına yol açar ve tekrarlanabilir. Aynı işlevdeki diğer vf_* yapıları tam olarak bu nedenle açıkça sıfırlanmaktadır - birkaç satır yukarıdaki ivi, vf_vlan_info, node_guid ve port_guid için memset() çağrılarına bakın. vf_broadcast, eklendiğinde basitçe gözden kaçırılmıştır. Erişilebilirlik: ayrıcalıksız herhangi bir yerel süreç, yetki gerektirmeden AF_NETLINK / NETLINK_ROUTE açabilir ve RTEXT_FILTER_VF taşıyan bir IFLA_EXT_MASK özniteliğiyle RTM_GETLINK gönderebilir. Çekirdek her VF'yi dolaşır ve IFLA_VF_BROADCAST yayarak istek başına VF başına 26 bayt yığın verisi sızdırır. Bu çağrı noktasındaki yığın kalıntısı dönüş adreslerini ve geçici hassas verileri içerebilir; yığın enstrümantasyonlu KASAN veya KMSAN, yeniden üretildiğinde nla_put() çağrısını işaretleyecektir. Kısmi memcpy öncesinde yığın üzerindeki yapıyı sıfırlayın; bu, aynı işlevdeki diğer vf_* yapıları için kullanılan mevcut kalıpla uyumludur.
Nasıl düzeltilir
- linux linux_kernel5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.88, 6.18.30, 7.0.7 ya da sonraki bir sürüm
- git.kernel.org/stable/c/0653c0516234c8258975d268a749115fc0f0ff00
- git.kernel.org/stable/c/14271b401ec6a4bf0d88054106fc2956084717e1
- git.kernel.org/stable/c/38bcc21f52246badb3154b6158dcb381d98de011
- git.kernel.org/stable/c/4b9e327991815e128ad3af75c3a04630a63ce3e0
- git.kernel.org/stable/c/a44fbb631cba646532f3948636626f81717365a7
- git.kernel.org/stable/c/c5b1b92ab7eff1a6e8c507ddde6fd02fabd0cfa8
- git.kernel.org/stable/c/cccce3190ba4356432b9f22369b56123d3d89f0d
- git.kernel.org/stable/c/fbe0e6197225e6a83cf113a67a4b425f8de0bcd5
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.3 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.140, 6.7 ≤ v < 6.12.88, 6.13 ≤ v < 6.18.30, 6.19 ≤ v < 7.0.7, 7.1 | 5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.88, 6.18.30, 7.0.7 |
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.