CVE-2026-13481
Açıklama
subsys/net/lib/ptp/tlv.c dosyasındaki IEEE 1588 PTP yönetim mesajı ayrıştırıcısı, PTP_MGMT_TIME yönetim kimliğini hatalı işlemektedir. tlv_mgmt_post_recv() fonksiyonunda, PTP_MGMT_TIME durumu mgmt_tlv->data kısmını 10 baytlık bir struct ptp_timestamp yapısına dönüştürür ve TLV veri alanının en az sizeof(struct ptp_timestamp) boyutunda olduğunu kontrol etmeden okur (ardından bayt değişimi yaparak geri yazar). Aynı switch bloğundaki diğer tüm yönetim kimlikleri önce uzunluk doğrulaması yaparken, bu kontrolün eksik olduğu tek durum PTP_MGMT_TIME idi. İletilen uzunluk, yönetim verisi boyutudur (tlv->length - 2) ve ptp_tlv_post_recv() içindeki üst koruma yalnızca tlv->length > 2 şartını ararken, msg_tlv_post_recv() sadece TLV'nin alınan bayt sayısı içine sığdığını doğrular, kimliğe özel bir minimum değer kontrolü yapmaz. Bu nedenle, yerel PTP segmentindeki bir eş, kısa bir PTP_MGMT_TIME TLV'si (2 bayt kadar küçük veri) taşıyan bir PTP_MSG_MANAGEMENT mesajı göndererek ayrıştırıcının doğrulanmış verinin 8 bayt ötesini okumasına ve yazmasına neden olabilir. Mesaj türü ve TLV içerikleri doğrudan ağ üzerinden alındığı için, CONFIG_PTP etkinleştirildiğinde bu yol herhangi bir komşu saldırgan tarafından erişilebilirdir. Sınır dışı okuma ve geri yazma işlemleri struct ptp_msg tahsisatının içinde kalmaktadır (mgmt_tlv->data, baştaki mtu[NET_ETH_MTU] union üyesinde bulunur, dolayısıyla data + 10 işlemi en fazla mtu[] dizisinin birkaç bayt sonrasına, aynı nesne içine denk gelir); bu nedenle durum, tahsis edilen bellek alanının dışına çıkan bir bellek bozulması değil, nesne içi komşu belleğin sınır dışı okunması ve mesajın ayrıştırılmış zaman damgasının sınırlı şekilde yerinde bozulmasıdır. Etki, komşu baytların düşük düzeyde bilgi ifşası ve cihazın ayrıştırılmış yönetim TIME değeriyle sınırlıdır; erişim sırasında bir çökme meydana gelmez ve erişilebilir bir referans sayacı bozulması oluşmaz. Düzeltme, dönüşümden önce if (length < sizeof(struct ptp_timestamp)) { return -EBADMSG; } ifadesini ekleyerek diğer yönetim kimliği durumlarıyla uyumlu hale getirir ve alma yolu kusurunu tamamen kapatır.
Nasıl düzeltilir
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| zephyrproject zephyr | 3.7.0 ≤ v ≤ 4.4.1 | — |
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.