CVE-2025-68620
Açıklama
Signal K Server, bir teknedeki merkezi bir hub üzerinde çalışan bir sunucu uygulamasıdır. 2.19.0 öncesindeki sürümler, herhangi bir ön kimlik doğrulama olmaksızın JWT kimlik doğrulama belirteçlerini çalmak için birlikte zincirlenebilen iki özellik sunmaktadır. Saldırı, WebSocket tabanlı istek numaralandırmasını, erişim isteği durumunun kimlik doğrulaması yapılmamış sorgulanmasıyla birleştirir. Birincisi Kimlik Doğrulaması Yapılmamış WebSocket İstek Numaralandırmasıdır: Bir WebSocket istemcisi, `serverevents=all` sorgu parametresi ile SignalK akış uç noktasına bağlandığında, sunucu bekleyen erişim istekleri hakkında ayrıntılar içeren `ACCESS_REQUEST` olayları da dahil olmak üzere tüm önbelleğe alınmış sunucu olaylarını gönderir. `startServerEvents` fonksiyonu, `app.lastServerEvents` üzerinden döngü kurar ve yetkilendirme seviyesini doğrulamadan her önbelleğe alınmış olayı bağlı olan herhangi bir istemciye yazar. WebSocket bağlantılarına salt okunur kullanıcılar (`allow_readonly` true olduğunda kimlik doğrulaması yapılmamış kullanıcılar dahildir) izin verildiğinden, saldırganlar istek kimlikleri, istemci tanımlayıcıları, açıklamalar, talep edilen izinler ve IP adreslerini içeren bu olayları alır. İkincisi Kimlik Doğrulaması Yapılmamış Belirteç Sorgulamasıdır: `/signalk/v1/access/requests/:id` adresindeki erişim isteği durumu uç noktası, kimlik doğrulaması gerektirmeden bir erişim isteğinin tam durumunu döndürür. Bir yönetici isteği onayladığında, yanıt düzenlenen JWT belirtecini düz metin olarak içerir. `queryRequest` fonksiyonu, belirteç alanı da dahil olmak üzere eksiksiz istek nesnesini döndürür ve REST uç noktası salt okunur kimlik doğrulaması kullanarak kimlik doğrulaması yapılmamış erişime izin verir. Bir saldırganın bu zafiyetleri istismar etmek için iki yolu vardır. Ya saldırgan kendi erişim isteğini oluşturur (inandırıcı bir sahte istek hazırlamak için IP spoofing zafiyetini kullanır), ardından bir yönetici onaylayana kadar kendi istek kimliğini sorgulayarak JWT belirtecini alır; ya da saldırgan meşru cihazlardan gelen istek kimliklerini keşfetmek için WebSocket akışını pasif olarak izler, ardından bu kimlikleri sorgular ve yöneticiler onları onayladığında JWT belirteçlerini çalarak meşru cihaz kimlik bilgilerini ele geçirir. Her iki yol da sıfır kimlik doğrulaması gerektirir ve tam bir kimlik doğrulama atlatmaya olanak tanır. Sürüm 2.19.0 temel sorunları giderir.
Nasıl düzeltilir
- signalk signal_k_server2.19.0 ya da sonraki bir sürüm
- signalk-server2.19.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| signalk signal_k_server | v < 2.19.0, 2.19.0 | 2.19.0 |
| signalk-servernpm | v < 2.19.0 | 2.19.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.