CVE-2026-19741
Açıklama
Zephyr'in OpenThread entegrasyonunda, modules/openthread/Kconfig.thread dosyasında (önceden subsys/net/l2/openthread/Kconfig ve ardından subsys/net/l2/openthread/Kconfig.thread) CONFIG_OPENTHREAD_JOINER_PSKD varsayılan olarak "J01NME" şeklinde tanımlanmıştır. J01NME, Zephyr'in kendi samples/net/sockets/echo_client/README.rst dosyası da dahil olmak üzere halka açık OpenThread ve Thread devreye alma belgelerinde kullanılan örnek Katılım Cihazı Kimlik Bilgisi'dir, dolayısıyla bir sır değildir. CONFIG_OPENTHREAD_JOINER_AUTOSTART=y ile oluşturulan ve PSKd değerini hiçbir zaman geçersiz kılmayan bir aygıt yazılımı görüntüsü, derleme zamanında veya çalışma zamanında herhangi bir uyarı vermeksizin, içine derlenmiş halka açık bir katılım kimlik bilgisiyle gönderilmiştir. PSKd, Thread devreye alımını kimlik doğrulayan tek değerdir: katılan cihaz ve komisyoncu, bu anahtar üzerinden bir DTLS-PSK el sıkışması gerçekleştirir ve ardından komisyoncu tam operasyonel veri setini sağlar. ot_configure_instance() fonksiyonunda (modules/openthread/openthread.c), kayıtlı veri seti olmayan bir cihaz yapılandırılmış PSKd ile otJoinerStart() fonksiyonunu çağırır ve ot_joiner_start_handler() başarılı olduğunda otThreadSetEnabled() fonksiyonunu çağırır. Devreye alınmamış bir cihazın (fabrika çıkışlı, fabrika sıfırlamasından sonra veya ayarlar silindikten sonra) 802.15.4 radyo menzilindeki kimliği doğrulanmamış bir saldırgan, J01NME ile kayıtlı herhangi bir standart Thread komisyoncusunu çalıştırabilir, el sıkışmasını tamamlayabilir ve cihaza saldırgan tarafından kontrol edilen bir operasyonel veri seti verebilir. Ardından cihaz, saldırganın ağ yapısına (mesh) katılır ve burada Thread'i etkinleştirir. Saldırgan, cihazın yönlendiricisi haline gelerek tüm IPv6 trafiğini görür, düşürür, enjekte eder ve taklit ederken uygulamanın beklediği eşleri taklit edebilir; bu sırada cihaz katılması gereken ağdan kopar ve sıfırlanana kadar yanlış yapılandırılmış olarak kalır. Yalnızca bağımsız olarak sağlanan kimlik bilgilerine sahip uygulama katmanı güvenliği bundan etkilenmez. Risk, katılan cihaz otomatik başlatmayı etkinleştiren ve PSKd değerini boş bırakan derlemelerle sınırlıdır; seçenek varsayılan olarak etkin değildir ve ağaç içi (in-tree) hiçbir örnek savunmasız kombinasyonu kullanmamaktadır. Düzeltme, CONFIG_OPENTHREAD_JOINER_PSKD üzerindeki varsayılan değeri kaldırır ve modules/openthread/openthread.c dosyasına, yalnızca CONFIG_OPENTHREAD_JOINER_AUTOSTART altında aktif olan ve 6 ila 32 karakterli bir PSKd yapılandırılmadığı sürece derlemeyi başarısız kılan bir BUILD_ASSERT() ekler. Ürünler, her üniteye aynı şekilde derlenmiş bir kimlik bilgisine güvenmek yerine, fabrika verilerinden cihaz başına özel bir PSKd sağlamalı ve uygulamadan otJoinerStart() fonksiyonunu çağırmalıdır.
Nasıl düzeltilir
- zephyrproject zephyr4.5.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| zephyrproject zephyr | 1.14.0 ≤ v < 4.5.0 | 4.5.0 |
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.