Cardputer ADV gibi M5Stack cihazları M5Burner aracılığıyla yönetilir; resmi masaüstü aracı, donanım yazılımına göz atmanızı, indirmenizi ve donanım yazılımını doğrudan donanıma yüklemenizi sağlar. Ancak M5Burner'ı çevrimiçi kullananlar önemli bir riskle karşı karşıyadır: okuyucumuz ve güvenlik araştırmacımız “malloc” bunu ayrıntılı bir analizde keşfetti.
Duyurudan sonra devamını okuyun
Birçok zayıf nokta
Malloc kullanıcısı kapalı kaynak Electron tabanlı istemciyi kaynak koda dönüştürdü (önceki sürümler hâlâ açık kaynaktı) ve bir sürü sorunla karşılaştı:
- Başlangıçta uzaktan kod yürütme: M5Burner başlatıldığında, şifrelenmemiş HTTP aracılığıyla Node.js'ye tam erişimle çalışan bir Electron penceresine bir sayfa yükler: Aynı ağdaki bir saldırgan, kullanıcının herhangi bir şeye tıklamasına gerek kalmadan rastgele kod ekleyebilir.
- Güvenli olmayan otomatik güncelleme: Güncellemeler, imza veya sağlama toplamı doğrulaması olmadan HTTP yoluyla indirilir ve doğrudan uygulama dizinine açılır. Sahadaki saldırganlar için klasik bir bağlantı noktası.
- WLAN SSID aracılığıyla komut ekleme: Şu anda bağlı olan ağın WLAN SSID'si, filtrelenmemiş kabuk komutlarına (Linux, Windows ve macOS'ta) entegre edilmiştir; Hazırlanmış bir SSID adı kod yürütme için yeterlidir.
- Kimliği doğrulanmış API çağrıları için düz metin HTTP: Hesap belirteçleri ve ürün yazılımı yönetimi istekleri, 80 numaralı bağlantı noktası aracılığıyla şifrelenmeden gönderilir. WLAN'ın kendisi üzerinde pasif okuma, belirteç hırsızlığı için yeterlidir.
- WLAN şifresine IPC aracılığıyla erişebilirsiniz: Pencerede yürütülen herhangi bir kod, mevcut WLAN şifresini IPC mesajı yoluyla ve kullanıcıyla diyalog kurmadan talep edebilir.
- Sabit kodlanmış kimlik bilgileri: Uygulama paketi, her kurulumda aynı statik HTTP Temel Kimlik Doğrulama kimlik bilgilerini içerir.
Şu anda M5Burner kullanan herkesaraç en azından halka açık veya güvenilmeyen WLAN'larda başlatılmamalıdır. m5uploader, erişim, ürün yazılımı yönetimi ve flashlama için açık kaynaklı bir alternatif (aşağıya bakın) olarak mevcuttur.
Aslında gereksiz derecede güvensiz
Malloc testlerine göre, etkilenen M5Stack sunucularının çoğu zaten HTTPS'yi sorunsuz bir şekilde destekliyor. Uygulama onu tutarlı bir şekilde kullanmıyor. Kullanılan her ana bilgisayar kontrol edildi. Bir istisna dışında (5003 numaralı bağlantı noktasında TLS desteği olmayan bir medya belirteci uç noktası), URL'leri basitçe https:// olarak değiştirmek, güvenlik açısından ileriye doğru büyük bir adım olurdu. Electron ayrıca M5Burner'ı aktif olarak devre dışı bırakan güvenli varsayılanlar da sağlar (nodeIntegration: false, contextIsolation: true).
Sorumlu açıklama girişimi
Duyurudan sonra devamını okuyun
Malloc, analizini yayınlamadan önce M5Stack ile özel olarak iletişime geçmeye çalıştı. Şirketin GitHub deposunda bir güvenlik.txt dosyası, bir SECURITY.md dosyası ve web sitesinde bir güvenlik iletişim kişisi aradı ancak hiçbir şey bulamadı. Özel bir raporlama kanalı olmadığından güvenlik açıklarını doğrudan kamuya açıklamaya karar verdi. Blog yazısı aynı zamanda üreticiye gönderilen ilk mesajdır. Malloc'un kendisi özel bir mesaj göndermeyi tercih edeceğini yazıyor, sadece adresi yoktu. Bu nedenle açıklanan RCE açığı, yayın sırasında sağlanan M5Burner'ın mevcut sürümüyle karşılaştırıldığında aktif olarak kullanılabilir.
Açık kaynak değişimi
Malloc, analizden sonra artık M5Burner'ı kendi hesabında çalıştırmak istemediğinden, hızla kendi istemcisini geliştirdi ve GitHub'da yayınladı: m5uploader (github.com/cryptspeak/m5uploader).
Python aracı sürekli olarak HTTPS'yi sertifika kontrolüyle birlikte kullanır, yerleşik bir tarayıcıya ihtiyaç duymaz ve oturum belirtecini işletim sistemi anahtar zincirinde saklar. Otomatik güncelleme kasıtlı olarak eksik; bunun yerine yalnızca yeni sürümlerin bir göstergesi var. Artık esptool aracılığıyla yanıp sönen bellenim de entegre edilmiştir.
(gaw)

Bir yanıt yazın