CVE-2026-51538
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 32 - wyżej niż 32% wszystkich znanych CVE
Streszczenie
W bibliotece OpENer 2.3.0 (commit 76b95cf) wykryto podatność polegającą na nieprawidłowej kontroli dostępu podczas obsługi sesji enkapsulacji. Serwer sprawdza jedynie, czy identyfikator sesji istnieje na globalnej liście, ale nie weryfikuje, czy należy on do konkretnego połączenia TCP wysyłającego żądanie. Umożliwia to atakującemu przejęcie sesji innego klienta i ominięcie mechanizmów kontroli dostępu.
Ocena ryzyka
Atakujący w sieci może podszyć się pod autoryzowanego klienta, przejmując jego sesję i wykonując krytyczne komendy enkapsulacji bez autoryzacji. Może to prowadzić do nieautoryzowanego dostępu do sterownika lub urządzenia przemysłowego.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę OpENer do wersji, w której wprowadzono silne powiązanie identyfikatora sesji z gniazdem TCP. Do czasu aktualizacji zaleca się ograniczenie dostępu sieciowego do serwera tylko do zaufanych hostów.
Inne podatności w OpENer
Zobacz wszystkie- CVE-2026-51541Krytyczne
W bibliotece OpENer 2.3.0 (commit 76b95cf) wykryto podatność polegającą na odczycie poza dozwolonym obszarem pamięci podczas parsowania wiadomości CIP. Atakujący może wysłać poprawną ramkę ENIP SendRRData z bardzo krótkim ładunkiem CIP, w którym pole path_size wskazuje na więcej słów ścieżki niż faktycznie dostępnych. Ponieważ parser ufa kontrolowanemu przez atakującego polu path_size i kontynuuje dekodowanie segmentów ścieżki bez sprawdzania granic pozostałej długości, odczytuje dane poza końcem bufora odbiorczego na stosie.
- CVE-2026-51540Krytyczne
W bibliotece OpENer w wersji 2.3.0 (do commitu 76b95cf) wykryto krytyczną podatność powodującą uszkodzenie pamięci. Problem wynika z niedomiaru liczby całkowitej podczas przetwarzania połączonych wiadomości jawnych (SendUnitData).
- CVE-2026-51536Krytyczne
W OpENer 2.3.0 (commit 76b95cf) podczas parsowania pakietów CIP (Common Industrial Protocol) parametr długości jest niespójnie typowany w stosie wywołań. Długość obliczona jako int jest przekazywana do funkcji oczekującej EipInt16 (16-bitowa liczba całkowita ze znakiem), co przy złośliwym pakiecie może prowadzić do przepełnienia lub ujemnej wartości. Ujemna długość omija kontrolę granic i powoduje przepełnienie bufora stosu w DecodePaddedEPath.
- CVE-2026-51535Wysokie
W bibliotece OpENer w wersji 2.3.0 (commit 76b95cf) wykryto podatność na wyczerpanie zasobów (odmowę usługi) w pętli przetwarzania sieciowego. Atakujący może wysłać specjalnie spreparowane pakiety, powodując nadmierne zużycie CPU lub pamięci.
- CVE-2026-51221Wysokie
Podatność przepełnienia bufora w funkcji Get_Attribute_List biblioteki OpENer od EIPStackGroup (commit 76b95c) umożliwia atakującemu spowodowanie odmowy usługi (DoS) poprzez wysłanie spreparowanego pakietu Common Packet Format (CPF).
- CVE-2026-10703Średnie
W bibliotece EIPStackGroup OpENer do wersji 2.3.0 wykryto podatność use-after-free w funkcji CreateMessageRouterRequestStructure pliku cipmessagerouter.c w komponencie SendRRData Handler. Atak może być przeprowadzony zdalnie, a exploit został ujawniony publicznie.
Oryginalny opis (angielski, źródło NVD)
EIPStackGroup OpENer 2.3.0 (commit 76b95cf) suffers from an Incorrect Access Control vulnerability in its handling of encapsulation sessions. When the server processes critical encapsulation commands, it verifies whether the provided session_handle exists in the global session list, but it fails to verify whether that handle belongs to the specific TCP connection issuing the request. Because there is no strong binding between a session handle and its originating socket, any attacker on the network can use a valid session handle created by another legitimate client to bypass access controls.

