CVE-2026-11946
WysokieCVSS 7.5Streszczenie
Nieuwierzytelniony zdalny atakujący może wyczerpać pamięć serwera poprzez usługę GetEndpoints Discovery Service w bibliotece open62541. Pole endpointUrl w żądaniu GetEndpointsRequest nie jest walidowane pod kątem długości, co pozwala na zadeklarowanie dowolnie dużego ciągu znaków (do ~4,09 GB) dostarczanego w fragmentach bez wysyłania ostatniego fragmentu. Serwer buforuje wszystkie fragmenty w pamięci RAM bez ograniczeń aż do czasu wygaśnięcia SecureChannel.
Ocena ryzyka
Atak może doprowadzić do wyczerpania pamięci serwera OPC UA, powodując odmowę usługi (DoS) i uniemożliwiając działanie systemów przemysłowych lub krytycznej infrastruktury. Ponieważ atak jest wykonywany przed ustanowieniem sesji i omija wszystkie konfiguracje szyfrowania, jest szczególnie niebezpieczny dla środowisk produkcyjnych.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę open62541 do wersji 1.4.17, 1.5.5 lub nowszej, w której wprowadzono walidację długości pola endpointUrl. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do serwera OPC UA tylko do zaufanych sieci za pomocą zapory sieciowej.
Oryginalny opis (angielski, źródło NVD)
An unauthenticated remote attacker can exhaust server memory via the GetEndpoints Discovery Service in open62541. The endpointUrl field of GetEndpointsRequest is not validated for length. An attacker can declare an arbitrarily large string (up to ~4.09 GB via the UInt32 length field) delivered across intermediate chunks without ever sending the final chunk. The server buffers all chunks in RAM indefinitely until the SecureChannel times out. The attack is pre-session and bypasses all encryption configurations. The issue affects open62541: from 1.4.0 through 1.4.16, from 1.5.0 through 1.5.4, master.

