CVE-2024-36702
WysokieCVSS 7.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
W bibliotece libiec61850 w wersji 1.5 odkryto przepełnienie sterty w funkcji BerEncoder_encodeLength w pliku /asn1/ber_encoder.c. Podatność może pozwolić atakującemu na zdalne wykonanie kodu lub spowodowanie awarii systemu.
Ocena ryzyka
Ryzyko dla organizacji obejmuje potencjalne przejęcie kontroli nad systemami wykorzystującymi libiec61850, co może prowadzić do naruszenia integralności danych i dostępności usług.
Rekomendacja
Zaleca się natychmiastową aktualizację biblioteki libiec61850 do najnowszej wersji, która zawiera poprawkę dla tej podatności. Należy również przejrzeć konfigurację systemów pod kątem wykorzystania podatnych wersji.
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-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-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-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.
Oryginalny opis (angielski, źródło NVD)
libiec61850 v1.5 was discovered to contain a heap overflow via the BerEncoder_encodeLength function at /asn1/ber_encoder.c.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

