CVE-2026-48741
HighCVSS 7.5Summary
In libIEC61850, alternateArrayAccess 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 crash servers whose data models contain arrays. Fixed in 1.6.2.
Risk Assessment
A remote attacker can crash an IEC 61850 server with arrays in its data model, causing denial of service in industrial infrastructure.
Recommendation
Update libIEC61850 to version 1.6.2 or later. Restrict access to the MMS service from untrusted networks.
Other vulnerabilities in libIEC61850
See all- CVE-2026-68908Medium
libIEC61850 prior to 1.6.2 does not validate the length of the RptID field in the report-control-block write path, accepting values longer than 129 bytes. When a report is later serialized, the function passes the stack-backed buffer rptIdBuf[130] to MmsValue_setVisibleString, whose resize path frees that buffer, causing an invalid free and server crash.
- CVE-2026-68907High
In libIEC61850, checkDataSetAccess reverses the source and destination arguments to StringUtils_copyStringToBuffer while constructing an MMS_ASSOCIATION_SPECIFIC dataset reference. This causes a stack buffer over-read and copies those bytes into the caller-owned listName buffer, potentially crashing the server on a defineNamedVariableList request.
- CVE-2026-68906High
In libIEC61850, parseUserInformation checks len for zero before validating the negative bufPos returned by BerDecoder_decodeLength for a truncated long-form length. The continue path swallows the error, reads buffer[-1], resets parsing, and repeats the same state, leading to an infinite CPU loop or an out-of-bounds read and process abort.
- CVE-2026-57446Medium
In libIEC61850 from 1.6.1 until 1.6.2, a successful MMS ObtainFile operation closes the file handle in a task but leaves a stale non-NULL value in a task marked as unused. If a later ObtainFile request reuses that task and destination creation fails, the cleanup path closes the stale FILE object again, allowing a remote crash of the server.
- CVE-2026-48503High
In libIEC61850, the MMS file service accepts an out-of-range initialPosition in fileOpen and stores it in the file-read state. The fileRead path subtracts the larger read position from the file size using unsigned arithmetic and fails to limit the response to the actual FileSystem_readFile return value. The oversized response can include stale bytes from the reused connection buffer, disclosing prior response data and protocol fragments to an unauthenticated remote client. Fixed in 1.6.2.
- CVE-2026-52134Critical
libiec61850 version 1.6 contains a vulnerability in the parseGoosePayload() function in /goose/goose_receiver.c, allowing attackers to bypass authentication via a captured GOOSE frame.
- CVE-2026-19259Medium
In the MZ Automation libiec61850 library up to version 1.6.1, a heap-based buffer overflow vulnerability was found in the MmsMapping_varAccessSpecToObjectReference function in src/iec61850/common/iec61850_common.c of the MMS Protocol Workflow component. Manipulating the GetNamedVariableListAttributesResponse.itemId argument leads to overflow. The attack requires local access, and the exploit is public.
- CVE-2026-19206Medium
A heap-based buffer overflow vulnerability was found in MZ Automation libiec61850 up to 1.6.1 in the function SVReceiver_stopThreadless of src/sampled_values/sv_subscriber.c. The attack must be initiated locally and the exploit is public. Version 1.6.2 mitigates the issue.
- CVE-2026-19108Medium
Use-after-free vulnerability in MZ Automation libiec61850 up to 1.6.1, in the function deleteDataSetValuesShadowBuffer of the file src/iec61850/server/mms_mapping/reporting.c (URCB Revalidation component). The attack requires local access. The exploit has been made public. Upgrading to version 1.6.2 fixes the issue.
- CVE-2026-18583Medium
A weakness has been identified in mz-automation libiec61850 up to 1.6.1. The function checkDataSetAccess in src/iec61850/server/mms_mapping/mms_mapping.c causes an out-of-bounds read. The attack can be initiated remotely. The exploit has been made public.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

