CVE-2026-33592
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
Nieuwierzytelniony zdalny atakujący może wyczerpać pamięć serwera poprzez usługę FindServers Discovery w bibliotece open62541. Pole serverUris w żądaniu FindServersRequest nie jest walidowane pod kątem długości ani rozmiaru tablicy, co pozwala na deklarację dowolnie dużego ciągu znaków (do ~3,9 GB) przesyłanego w fragmentach bez wysyłania ostatniego fragmentu. Serwer buforuje wszystkie fragmenty w pamięci RAM bezterminowo, aż do czasu wygaśnięcia SecureChannel.
Ocena ryzyka
Atak może doprowadzić do wyczerpania pamięci RAM serwera OPC UA, powodując odmowę usługi (DoS) i uniemożliwiając działanie krytycznych systemów przemysłowych. Podatność jest dostępna przed utworzeniem sesji i omija wszelkie konfiguracje szyfrowania.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę open62541 do wersji 1.4.17, 1.5.5 lub nowszej, w której wprowadzono walidację rozmiaru pola serverUris. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do serwera OPC UA tylko do zaufanych sieci.
Inne podatności w open62541
Zobacz wszystkie- CVE-2026-15690Niskie
W bibliotece open62541 do wersji 1.5.5 wykryto podatność polegającą na wywołaniu funkcji responseReadNamespacesArray w pliku src/client/ua_client_connect.c. Manipulacja argumentem Server_NamespaceArray prowadzi do dereferencji wskaźnika null, co może skutkować awarią aplikacji. Atak może być przeprowadzony zdalnie, ale wymaga wysokiego poziomu złożoności i jest trudny do wykorzystania.
- CVE-2026-11946Wysokie
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.
- CVE-2026-67870Krytyczne
W open62541 v1.5.5 implementacja AddReferences po stronie serwera zawiera niekompletną walidację dla nie-lokalnych celów ExpandedNodeId. Zdalny atakujący może wysłać spreparowane AddReferencesRequest z pustym targetServerUri i niezerowym targetNodeId.serverIndex, co powoduje, że wskaźnik węzła docelowego pozostaje NULL, podczas gdy wykonanie jest kontynuowane.
- CVE-2026-67869Wysokie
Podatność przepełnienia bufora w open62541 v1.5.5 pozwala zdalnemu atakującemu spowodować denial of service poprzez usługę Service_Call, która waliduje argumenty wejściowe względem metadanych InputArguments rozwiązywanych w czasie wykonania.
- CVE-2026-67863Wysokie
W open62541 w wersji 1.5.5 występuje użycie po zwolnieniu (use-after-free) po stronie serwera w ścieżce wywołań zwrotnych lokalnego MonitoredItem. Problem występuje, gdy UA_Subscription_localPublish nadal używa bieżącego UA_Notification po wywołaniu zwrotnym, które usuwa bieżący lokalny MonitoredItem. Pozwala to zdalnemu atakującemu spowodować odmowę usługi.
- CVE-2026-67864Wysokie
Problem w open62541 w wersji 1.5.5 i wcześniejszych pozwala zdalnemu atakującemu spowodować odmowę usługi poprzez logikę tworzenia instancji typu NodeManagement.
- CVE-2026-67862Wysokie
open62541 1.5.5 zawiera przepełnienie bufora w logice odczytu atrybutów wysokiego poziomu w src/client/ua_client_highlevel.c. Pozwala to zdalnemu atakującemu spowodować odmowę usługi.
- CVE-2026-67861Wysokie
W open62541 w wersji 1.5.5 i wcześniejszych istnieje problem umożliwiający zdalnemu atakującemu spowodowanie odmowy usługi przez komponent UA_Client_getRemoteDataTypes.
- CVE-2026-67860Wysokie
open62541 w wersji 1.5.5 zawiera przepełnienie bufora oparte na stercie w domyślnej ścieżce HistoryRead, gdy używana jest domyślna baza danych historii z backendem pamięciowym.
- CVE-2026-67859Wysokie
Podatność przepełnienia bufora w open62541 v1.5.5 pozwala zdalnemu atakującemu na wywołanie odmowy usługi poprzez obsługę Discovery/LDS.
Oryginalny opis (angielski, źródło NVD)
An unauthenticated remote attacker can exhaust server memory via the FindServers Discovery Service in open62541. The serverUris field of FindServersRequest is not validated for length or array size. An attacker can declare an arbitrarily large string (up to ~3.9 GB) 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 configuration. The issue affects open62541: from 1.4.0 through 1.4.16, from 1.5.0 through 1.5.4, master.

