CVE-2026-51536
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 38 - wyżej niż 38% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może zdalnie spowodować awarię lub przejęcie kontroli nad urządzeniem przemysłowym wykorzystującym OpENer, co w środowisku produkcyjnym grozi zatrzymaniem procesów, uszkodzeniem sprzętu lub naruszeniem bezpieczeństwa.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę OpENer do wersji zawierającej poprawkę lub zastosować tymczasowe reguły firewall/blokujące ruch CIP z niezaufanych źródeł.
Oryginalny opis (angielski, źródło NVD)
In OpENer 2.3.0 (commit 76b95cf) when parsing incoming CIP (Common Industrial Protocol) network packets, the length parameter is inconsistently typed across the call stack. Specifically, an upstream length calculated as an int is passed to a downstream function that expects an EipInt16 (a 16-bit signed integer). If a maliciously crafted packet with specific length fields is processed, the length parameter can overflow or be truncated into a negative value. This negative length bypasses subsequent bounds checking (due to signed/unsigned comparison issues) and is ultimately used in memory operations, leading to a Stack Buffer Overflow when reading data in DecodePaddedEPath.

