CVE-2026-111733
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Umożliwia to zdalnemu nieuwierzytelnionemu atakującemu wywołanie odmowy usługi poprzez zawieszenie urządzenia. Wpływa to na dostępność systemów przemysłowych.
Rekomendacja
Zaktualizuj bibliotekę P-Net do wersji 1.0.3 lub nowszej. Ogranicz ekspozycję sieciową urządzeń z P-Net do zaufanych segmentów.
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-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-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 dereferences a NULL AR pointer when handling an implicit read request without a valid target AR UUID for a record index that requires an AR (AR specific indices 0xE000-0xEFFF, and the expected identification data of a slot or subslot). A remote unauthenticated attacker can send such a request to crash the device (denial of service).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

