CVE-2026-69200
NiskieCVSS 3.7Streszczenie
node-opcua to implementacja OPC UA dla TypeScript i Node.js. W wersjach przed node-opcua-client 2.145.0 wewnętrzna metoda fieldsToJson w pliku packages/node-opcua-client/source/alarms_and_conditions/client_alarm.ts bezpośrednio przypisuje nieoczyszczone nazwy pól i pozwala ścieżce __proto__.pollutedKey modyfikować Object.prototype. Udane wykorzystanie wymaga, aby aplikacja udostępniała kontrolowane przez atakującego pola zdarzeń do fieldsToJson i może powodować odmowę usługi lub uszkodzenie logiki aplikacji.
Ocena ryzyka
Może dojść do zatrucia prototypu (prototype pollution), co prowadzi do odmowy usługi lub nieprzewidywalnego zachowania logiki aplikacji korzystającej z node-opcua.
Rekomendacja
Zaktualizuj node-opcua-client do wersji 2.145.0 lub nowszej. Upewnij się, że aplikacja nie przekazuje niezaufanych nazw pól zdarzeń do fieldsToJson.
Inne podatności w node-opcua
Zobacz wszystkie- CVE-2026-68904Wysokie
node-opcua to implementacja OPC UA dla TypeScript i Node.js. W wersjach od 2.0.0 do 2.170.0 klienci używający domyślnego ustawienia keepSessionAlive mogą wpaść w powtarzający się cykl ponownego łączenia, gdy przesunięcie zegara serwera OPC UA powoduje odpowiedzi BadInvalidTimestamp, co prowadzi do wycieku deskryptorów plików i pamięci aż do wyczerpania zasobów. Problem naprawiono w wersji 2.170.0.
- CVE-2026-54156Wysokie
node-opcua przed wersją 2.166.0 przechowuje nonce w globalnym cache bez wygaśnięcia i limitu rozmiaru. Nieuwierzytelniony atakujący może wielokrotnie tworzyć sesje z unikalnymi nonce, powodując nieograniczony wzrost pamięci i awarię serwera.
- CVE-2026-54155Wysokie
node-opcua przed wersją 2.166.0 w obsłudze UserNameIdentityToken nie weryfikuje, czy końcowe bajty zaszyfrowanego hasła odpowiadają bieżącemu serverNonce. Umożliwia to atakującemu sfałszowanie tokena z pustym hasłem lub powtórzenie przechwyconego tokena w innej sesji.
Oryginalny opis (angielski, źródło NVD)
node-opcua is an OPC UA implementation for TypeScript and Node.js. Prior to node-opcua-client 2.145.0, the internal fieldsToJson method in packages/node-opcua-client/source/alarms_and_conditions/client_alarm.ts directly assigns unsanitized field names and allows a __proto__.pollutedKey path to modify Object.prototype. Successful exploitation requires an application to expose attacker-controlled event fields to fieldsToJson and may cause denial of service or application logic corruption. This vulnerability is fixed in 2.145.0.

