CVE-2026-115795
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
P-Net w wersjach przed 1.0.3 nie sprawdza, czy w odebranych danych znajduje się kompletny nagłówek bloku przed odczytem kolejnego bloku w żądaniach DCP Set i Identify. Jeśli ostatni blok kończy się na końcu bufora odbiorczego, długość następnego bloku jest odczytywana poza buforem. Dodatkowo blok DCP Set o długości mniejszej niż dwubajtowy kwalifikator powoduje niedomiar długości i przetwarzanie bloku jako 65534 bajtów. Może to spowodować awarię (odmowa usługi) lub ujawnienie niewielkiej ilości pamięci. Wymaga dostępu sieciowego z sąsiedztwa.
Ocena ryzyka
Atakujący w sieci lokalnej może wywołać awarię usługi lub wyciek fragmentów pamięci procesu. Może to zakłócić działanie urządzeń przemysłowych korzystających z P-Net.
Rekomendacja
Zaktualizuj P-Net do wersji 1.0.3 lub nowszej. Ogranicz dostęp sieciowy do urządzeń korzystających z P-Net do zaufanych segmentów sieci.
Inne podatności w P-Net
Zobacz wszystkie- CVE-2026-111732Krytyczne
P-Net przed wersją 1.0.3, gdy zbudowany z włączoną opcją PNET_OPTION_AR_VENDOR_BLOCKS, odczytuje długość danych z pola żądania ARVendorBlock, które nie jest częścią definicji bloku, i używa jej jako liczby bajtów do skopiowania do bufora o stałym rozmiarze, bez porównania z rozmiarem bufora lub długością bloku. Spreparowane żądanie Connect powoduje zapis poza granicami bufora, co może prowadzić do awarii (odmowa usługi) lub potencjalnie dowolnego wykonania kodu. Opcja ta jest domyślnie wyłączona.
- CVE-2026-115794Niskie
P-Net przed 1.0.3 przekazuje do callbacku alarmowego aplikacji długość danych wyliczoną z pola długości części zmiennej odebranej ramki alarmowej RTA bez sprawdzenia jej względem długości odebranej ramki. Krótka ramka może spowodować, że callback otrzyma długość do 65507 bajtów. Aplikacja kopiująca zgłoszoną liczbę bajtów odczytuje dane poza buforem odbioru. Atakujący musi mieć ustanowioną relację aplikacyjną i wymaga dostępu sieciowego z sąsiedztwa. Aplikacje niekorzystające z danych alarmowych nie są dotknięte.
- CVE-2026-115793Wysokie
P-Net w wersjach przed 1.0.3 nie zwalnia sesji RPC przydzielonej dla żądania wskazującego nieznany interfejs lub UUID obiektu i nie uruchamia dla niej limitu czasu. Powtarzane żądania z różnymi UUID wyczerpują dostępne sesje, po czym urządzenie przestaje odpowiadać na nowe żądania RPC, w tym Endpoint Mapper Lookup i Connect, aż do restartu.
- CVE-2026-112200Wysokie
P-Net w wersjach przed 1.0.3 nie zwalnia Application Relationship (AR) ani sesji RPC, gdy żądanie RPC zostanie odrzucone z powodu nieprawidłowej kolejności bajtów (endianness) reprezentacji danych. Sesja i jej AR pozostają przydzielone, więc powtarzane żądania wyczerpują dostępne sesje, po czym urządzenie przestaje odpowiadać na nowe żądania RPC, w tym Connect, aż do restartu.
- CVE-2026-111736Wysokie
P-Net w wersjach przed 1.0.3 dereferencjonuje wskaźnik NULL AR w funkcji pf_fspm_cm_read_ind() podczas obsługi niejawnego żądania odczytu bez prawidłowego UUID docelowego AR dla indeksu rekordu specyficznego dla użytkownika, jeśli aplikacja zarejestrowała callback odczytu. Zdalny nieuwierzytelniony atakujący może wysłać takie żądanie, aby spowodować awarię urządzenia.
- CVE-2026-111735Wysokie
P-Net w wersjach przed 1.0.3 zawiera niedomiar liczby całkowitej w funkcji pf_cpm_c_data_ind(). Podczas obsługi odebranej ramki danych cyklicznych, gdy konsument jest w stanie FRUN lub RUN, przesunięcie statusu APDU było obliczane jako długość ramki minus 4 przy użyciu arytmetyki 16-bitowej, bez sprawdzenia, czy ramka jest wystarczająco długa. Spreparowana krótka ramka powoduje zawinięcie przesunięcia, w wyniku czego funkcja odczytuje poza buforem odbioru.
- CVE-2026-111734Wysokie
Biblioteka P-Net w wersjach przed 1.0.3 nie sprawdza długości odebranej ramki Ethernet w funkcji pf_eth_recv() przed odczytem EtherType, tagów VLAN i FrameID PROFINET. Pętla przetwarzania tagów VLAN nie ma górnego ograniczenia, więc skrócona ramka lub ramka składająca się wyłącznie z tagów VLAN powoduje odczyt poza buforem odbiorczym.
- CVE-2026-111733Wysokie
P-Net w wersjach przed 1.0.3 wykonuje dereferencję wskaźnika NULL AR podczas obsługi niejawnego żądania odczytu bez prawidłowego identyfikatora UUID docelowego AR dla indeksu rekordu wymagającego AR (indeksy specyficzne dla AR 0xE000-0xEFFF oraz oczekiwane dane identyfikacyjne slotu lub podslotu). Zdalny nieuwierzytelniony atakujący może wysłać takie żądanie, aby spowodować awarię urządzenia.
- CVE-2026-111731Wysokie
P-Net w wersjach przed 1.0.3 wchodzi w nieskończoną pętlę podczas obsługi żądania odczytu rekordu PDPortDataCheck z podslotem 0 (cały moduł). Pętla po portach nigdy nie przechodzi do następnego portu, więc żądanie nigdy się nie kończy, a urządzenie przestaje odpowiadać.
- CVE-2026-111730Wysokie
P-Net w wersjach przed 1.0.3 nie waliduje pola LengthPeerStationName bloku CheckPeers w funkcji get_check_peer(). Odebrana długość (do 255) jest używana do kopiowania danych do 241-bajtowego bufora nazwy stacji peera i umieszczenia bajtu NUL, więc spreparowany blok zapisuje do 15 bajtów poza bufor.
Oryginalny opis (angielski, źródło NVD)
P-Net before 1.0.3 does not check that a complete block header is present in the received data before reading the next block in DCP Set and Identify requests. If the last block ends at the end of the receive buffer, the block length of the following block is read past the end of the buffer. In addition, a DCP Set block with a length smaller than the two-byte block qualifier makes the length underflow, so the block is processed with a length of 65534 bytes. This can cause a crash (denial of service) or disclose a small amount of memory content. Requires ADJACENT network access.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

