CVE-2026-48741
WysokieCVSS 7.5Streszczenie
W bibliotece libIEC61850 funkcja alternateArrayAccess nie waliduje zakresu podtablicy alternate-access, gdy numberOfElements jest większe od zera. Wywołanie MmsValue_getElement poza zakresem zwraca NULL, a gałąź podtablicy przekazuje tę wartość do MmsValue_isDeletable, powodując dereferencję NULL. Zdalne żądanie MMS Read może więc zawiesić serwery, których modele danych zawierają tablice. Luka naprawiona w wersji 1.6.2.
Ocena ryzyka
Zdalny atakujący może doprowadzić do awarii serwera IEC 61850 z tablicami w modelu danych, powodując odmowę usługi w infrastrukturze przemysłowej.
Rekomendacja
Zaktualizuj libIEC61850 do wersji 1.6.2 lub nowszej. Ogranicz dostęp do usługi MMS z niezaufanych sieci.
Inne podatności w libIEC61850
Zobacz wszystkie- CVE-2026-68908Średnie
Biblioteka libIEC61850 przed wersją 1.6.2 nie waliduje długości pola RptID w ścieżce zapisu bloku kontroli raportu, akceptując wartości dłuższe niż 129 bajtów. Przy generowaniu raportu funkcja serializująca przekazuje bufor stosu rptIdBuf[130] do MmsValue_setVisibleString, którego ścieżka zmiany rozmiaru zwalnia ten bufor, powodując nieprawidłowe zwolnienie pamięci i awarię serwera.
- CVE-2026-68907Wysokie
W libIEC61850 funkcja checkDataSetAccess odwraca argumenty źródła i celu w StringUtils_copyStringToBuffer podczas konstruowania referencji zbioru danych MMS_ASSOCIATION_SPECIFIC. Powoduje to odczyt poza buforem stosu i skopiowanie tych bajtów do bufora listName, co może doprowadzić do awarii serwera przy żądaniu defineNamedVariableList.
- CVE-2026-57446Średnie
W libIEC61850 od wersji 1.6.1 do 1.6.2 udana operacja MMS ObtainFile zamyka uchwyt pliku w zadaniu, ale pozostawia nieaktualną niepustą wartość w zadaniu oznaczonym jako nieużywane. Jeśli późniejsze żądanie ObtainFile użyje tego zadania i utworzenie miejsca docelowego się nie powiedzie, procedura czyszczenia ponownie zamyka nieaktualny obiekt FILE, co pozwala zdalnie wywołać awarię serwera.
- CVE-2026-48503Wysokie
W bibliotece libIEC61850 usługa plików MMS akceptuje początkową pozycję poza zakresem w fileOpen i zapisuje ją w stanie odczytu pliku. Ścieżka fileRead odejmuje większą pozycję od rozmiaru pliku arytmetyką bez znaku i nie ogranicza odpowiedzi do rzeczywistej wartości zwróconej przez FileSystem_readFile. Zbyt duża odpowiedź może zawierać nieaktualne bajty z bufora połączenia, ujawniając wcześniejsze dane i fragmenty protokołu nieuwierzytelnionemu klientowi. Luka naprawiona w wersji 1.6.2.
- CVE-2026-52134Krytyczne
libiec61850 w wersji 1.6 zawiera podatność w funkcji parseGoosePayload() w pliku /goose/goose_receiver.c, która pozwala atakującym na ominięcie uwierzytelniania za pomocą przechwyconej ramki GOOSE.
- CVE-2026-68906Wysokie
W libIEC61850 funkcja parseUserInformation sprawdza len pod kątem zera przed walidacją ujemnego bufPos zwróconego przez BerDecoder_decodeLength dla obciętej długości długiej formy. Ścieżka continue pomija błąd, odczytuje buffer[-1], resetuje parsowanie i powtarza ten sam stan, co prowadzi do nieskończonej pętli CPU lub odczytu poza buforem i przerwania procesu.
- CVE-2026-19259Średnie
W bibliotece MZ Automation libiec61850 do wersji 1.6.1 wykryto podatność na przepełnienie bufora na stercie w funkcji MmsMapping_varAccessSpecToObjectReference w pliku src/iec61850/common/iec61850_common.c w komponencie MMS Protocol Workflow. Manipulacja argumentem GetNamedVariableListAttributesResponse.itemId prowadzi do przepełnienia. Atak wymaga dostępu lokalnego, a exploit jest publiczny.
- CVE-2026-19206Średnie
W MZ Automation libiec61850 do wersji 1.6.1 wykryto podatność w funkcji SVReceiver_stopThreadless w pliku src/sampled_values/sv_subscriber.c. Manipulacja prowadzi do przepełnienia bufora na stercie. Atak musi być przeprowadzony lokalnie, a exploit jest publiczny. Wersja 1.6.2 zawiera poprawkę.
- CVE-2026-19108Średnie
Podatność use-after-free w bibliotece MZ Automation libiec61850 do wersji 1.6.1, w funkcji deleteDataSetValuesShadowBuffer w pliku src/iec61850/server/mms_mapping/reporting.c (komponent URCB Revalidation). Atak wymaga dostępu lokalnego. Exploit został opublikowany. Aktualizacja do wersji 1.6.2 naprawia problem.
- CVE-2026-18583Średnie
W bibliotece mz-automation libiec61850 do wersji 1.6.1 wykryto podatność w komponencie MMS Request Handler. Funkcja checkDataSetAccess w pliku src/iec61850/server/mms_mapping/mms_mapping.c powoduje odczyt poza zakresem. Atak może być przeprowadzony zdalnie. Dostępny jest publiczny exploit.
Oryginalny opis (angielski, źródło NVD)
libIEC61850 is an open-source implementation of IEC 61850 client and server protocols including MMS, GOOSE, Sampled Values, and R-Session. Prior to 1.6.2, alternateArrayAccess in src/mms/iso_mms/server/mms_read_service.c does not validate an alternate-access sub-array range when numberOfElements is greater than zero. An out-of-range MmsValue_getElement call returns NULL, and the sub-array branch passes that value to MmsValue_isDeletable, causing a NULL pointer dereference. A remote MMS Read request can therefore crash servers whose data models contain arrays, while the single-element error path handles the same invalid index safely. This issue is fixed in version 1.6.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

