CVE-2026-72444
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: flow_dissector: ETH_ADDRS okunmadan önce aygıt türünü denetle __skb_flow_dissect(), FLOW_DISSECTOR_KEY_ETH_ADDRS istendiğinde eth_hdr(skb) üzerinden koşulsuz olarak 12 bayt okur. Bu, skb'nin mac_header konumunda geçerli bir Ethernet başlığına sahip olduğunu varsayar; ancak durum her zaman böyle değildir. Sorun şu şekilde tetiklenebilir: 1. L3 modunda bir TUN aygıtı oluşturma (IFF_TUN, hard_header_len=0) 2. eth_src üzerinde eşleşen bir flower filtresiyle multiq qdisc ekleme 3. AF_PACKET üzerinden bir paket gönderme L3 modundaki TUN'un bağlantı katmanı başlığı olmadığından mac_header, L3 veri alanını işaret eder. Flow dissector, başlatılmamış skb belleğinden 12 bayt okur; bu veri daha sonra fl_set_masked_key() aracılığıyla yayılır ve KMSAN tarafından bildirildiği üzere __fl_lookup() içinde rhashtable arama anahtarı olarak kullanılır. Filtrenin denetim yolunda (tc filter add sırasında) reddedilmesi uygulanabilir değildir çünkü TC filtre blokları rastgele aygıtlar arasında paylaşılabilir -- bir Ethernet aygıtına kurulan filtre, daha sonra paylaşılan bir blok aracılığıyla başlıksız bir aygıttaki paketleri sınıflandırabilir. Aygıt ilişkilendirmesi filtre oluşturma anında sabit değildir. Bunu düzeltmek için memcpy, dev->type == ARPHRD_ETHER koşuluna bağlanır; bu, yalnızca gerçek Ethernet çerçeveli paketlerin adreslerinin okunmasını sağlar. Bu, L2 başlıkları Ethernet biçiminde olmayan IPoIB (ARPHRD_INFINIBAND, hard_header_len=24) ve FDDI (hard_header_len=21) gibi Ethernet dışı bağlantı türleri için yanlışlıkla geçecek olan önceki hard_header_len >= 12 denetiminden daha kesindir. Ayrıca, mac_header'ın ayarlanmamış gönderici değeri (~0U) olduğu ve eth_hdr()'nin geçersiz bir işaretçi döndüreceği patolojik duruma karşı korunmak için skb_mac_header_was_set() denetlenir. act_mirred yönlendirme durumunda (bir TC bloğunu paylaşan Ethernet dışı bir aygıta yönlendirilen Ethernet paketi), anahtarın sıfırlanması doğru davranıştır: paket artık hedef aygıtta sınıflandırılmaktadır ve burada Ethernet adresi eşleştirmesi anlamsal olarak anlamlı değildir. Not: Ethernet dışı aygıtlarda sıfırlanmış anahtar, tümü sıfır MAC adresleriyle yapılandırılmış bir filtreyle eşleşecektir. Bu, başlatılmamış belleğin rastgele herhangi bir filtreyle eşleşebildiği önceki davranışa göre bir iyileştirmedir.
Nasıl düzeltilir
- Linux Linux0fe6455b8e1a22414f39c07bc90a1df12b52ec74, 9a65860959db594dfc1820c7fdc09285fb7556bf, 594c90b197141944f25991b8314de5c26ee27a7e, c6d3bcb0f934d4297ac5fa1c8656ae40694fb601, 825de39f0c35a112148799b3cbe45af3766c018a, bf6e8af2c8be77489bedeae9f8a9654cb710e500 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 67a900cc0436d74e7ff89042371760def087680d ≤ v < 0fe6455b8e1a22414f39c07bc90a1df12b52ec74, 67a900cc0436d74e7ff89042371760def087680d ≤ v < 9a65860959db594dfc1820c7fdc09285fb7556bf, 67a900cc0436d74e7ff89042371760def087680d ≤ v < 594c90b197141944f25991b8314de5c26ee27a7e, 67a900cc0436d74e7ff89042371760def087680d ≤ v < c6d3bcb0f934d4297ac5fa1c8656ae40694fb601, 67a900cc0436d74e7ff89042371760def087680d ≤ v < 825de39f0c35a112148799b3cbe45af3766c018a, 67a900cc0436d74e7ff89042371760def087680d ≤ v < bf6e8af2c8be77489bedeae9f8a9654cb710e500, 4.2 | 0fe6455b8e1a22414f39c07bc90a1df12b52ec74, 9a65860959db594dfc1820c7fdc09285fb7556bf, 594c90b197141944f25991b8314de5c26ee27a7e, c6d3bcb0f934d4297ac5fa1c8656ae40694fb601, 825de39f0c35a112148799b3cbe45af3766c018a, bf6e8af2c8be77489bedeae9f8a9654cb710e500 |
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.