CVE-2026-51541
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacja narażona jest na wyciek poufnych danych z pamięci stosu lub potencjalną destabilizację systemu poprzez wysłanie specjalnie spreparowanego żądania sieciowego. Atak nie wymaga uwierzytelnienia i może być przeprowadzony zdalnie.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę OpENer do wersji zawierającej poprawkę usuwającą podatność lub zastosować tymczasowe reguły firewall blokujące nieautoryzowane pakiety ENIP/CIP.
Inne podatności w OpENer
Zobacz wszystkie- 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-51538Krytyczne
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.
- 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)
OpENer 2.3.0 (commit 76b95cf) has an out-of-bounds read issue in CIP message parsing when handling malformed explicit requests with a forged EPath size. An attacker can send a valid ENIP SendRRData frame carrying a very short CIP payload whose path_size field claims that many more path words are present than are actually available. Because the parser trusts the attacker-controlled path_size and continues decoding path segments without a remaining-length boundary, it reads beyond the end of the stack receive buffer.

