CVE-2026-68908
ŚrednieCVSS 5.3Streszczenie
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.
Ocena ryzyka
Zdalny klient może wywołać awarię serwera IEC 61850 poprzez zapis zbyt długiego RptID i wygenerowanie raportu, co prowadzi do odmowy usługi w infrastrukturze sterowania i automatyki.
Rekomendacja
Zaktualizuj libIEC61850 do wersji 1.6.2 lub nowszej, która naprawia tę podatność.
Inne podatności w libIEC61850
Zobacz wszystkie- 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-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, Reporting_RCBWriteAccessHandler accepts an RptID longer than 129 bytes in the report-control-block write path. When GI later causes sendNextReportEntrySegment to serialize the report, the function wraps rptIdBuf[130] as a temporary MmsValue and passes it to MmsValue_setVisibleString. The setter's resize path frees the stack-backed buffer, allowing a remote client to trigger an invalid free and server crash by writing the oversized RptID and then generating a report. This issue is fixed in version 1.6.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

