CVE-2026-111732
KrytyczneCVSS 9.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Spreparowane żądanie może wywołać awarię usługi lub potencjalnie doprowadzić do wykonania dowolnego kodu, jeśli opcja PNET_OPTION_AR_VENDOR_BLOCKS jest włączona.
Rekomendacja
Zaktualizuj P-Net do wersji 1.0.3 lub nowszej; jeśli to niemożliwe, upewnij się, że opcja PNET_OPTION_AR_VENDOR_BLOCKS pozostaje wyłączona.
Inne podatności w P-Net
Zobacz wszystkie- CVE-2026-115795Średnie
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.
- 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, when built with PNET_OPTION_AR_VENDOR_BLOCKS enabled, parses a data length from a field of the ARVendorBlock request that is not part of the block definition and uses it as the number of bytes to copy into a fixed-size buffer, without comparing it with the buffer size or the block length. A crafted Connect request causes an out-of-bounds write. This can lead to a crash (denial of service) or potentially arbitrary code execution. This option is disabled by default.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

