CVE-2026-68907
WysokieCVSS 8.2Streszczenie
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.
Ocena ryzyka
Zdalny atakujący może wywołać awarię serwera IEC 61850, powodując odmowę usługi. Ryzyko obejmuje niedostępność krytycznych usług komunikacyjnych w systemach przemysłowych.
Rekomendacja
Zaktualizuj libIEC61850 do wersji 1.6.2 lub nowszej. Rozważ wyłączenie dynamicznej obsługi zbiorów danych, jeśli nie jest wymagana, oraz ograniczenie dostępu do serwera.
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-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-48741Wysokie
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.
- 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, checkDataSetAccess reverses the source and destination arguments to StringUtils_copyStringToBuffer while constructing an MMS_ASSOCIATION_SPECIFIC dataset reference. The helper treats uninitialized dataSetRef[130] storage as a source string, causing strlen to read beyond the stack buffer, and then copies those bytes into the caller-owned listName buffer. A remote defineNamedVariableList request can crash servers that have dynamic dataset service enabled and a dataset access handler installed; the advisory also observes caller stack corruption but establishes denial of service as the primary impact. This issue is fixed in version 1.6.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

