Skip to main content

libIEC61850 CVE-2026-48741

| EUVDEUVD-2026-102908 HIGH
Improper Validation of Array Index (CWE-129)
2026-10-16 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach MMS server on network
  2. Delivery
    Open MMS/ISO association
  3. Exploit
    Send Read with out-of-range alternate-array access
  4. Execution
    NULL from MmsValue_getElement dereferenced
  5. Impact
    Server process crashes (denial of service)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Array index validation
Exploitation Conditions

Requires a reachable libIEC61850 MMS server running a version prior to 1.6.2 whose data model contains array-typed variables; the attacker sends an MMS Read using alternate array access with numberOfElements greater than zero and a sub-array range exceeding the array bounds (lowIndex + numberOfElements beyond MmsValue_getArraySize). No authentication is required (PR:N) and no user interaction is needed. LIMITING FACTORS: servers whose data models contain no arrays are not affected, and the single-element (non-sub-array) error path already handles the same invalid index safely, so only the array sub-access code path is vulnerable; impact is limited to a crash (availability) with no confidentiality or integrity effect.

Impact

This is a genuine but bounded availability risk. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) describes a network-reachable, low-complexity, unauthenticated flaw with impact limited strictly to availability (C:N/I:N) - consistent with the described NULL pointer dereference (CWE-129) that crashes the MMS server. No EPSS score, SSVC decision, KEV listing, or public POC was provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The vendor-published GitHub Security Advisory (GHSA-8mfr-hq64-9w33), the fixing commit, and the v1.6.2 release tag confirm the root cause and remediation, lending high confidence to the technical details. The practical risk is tempered by a real precondition: only servers whose data models actually contain array-typed variables are affected, and the single-element error path already handles the same invalid index safely - so exploitability depends on target data-model design, not merely reachability. Net: a legitimate denial-of-service priority for exposed IEC 61850/MMS servers (especially in OT/substation contexts where availability is paramount), but not a remote-code-execution or data-breach event, and lower urgency than the 7.5 score alone implies given the array-model dependency and absence of any exploitation signal.

Exploit ScenarioDerived

An attacker with network access to an exposed libIEC61850 MMS server (prior to 1.6.2) whose data model contains arrays sends a crafted MMS Read request using alternate array access with an out-of-range sub-array range and numberOfElements greater than zero. MmsValue_getElement returns NULL, the sub-array branch passes it to MmsValue_isDeletable, and the resulting NULL pointer dereference crashes the server, denying service. Exploitation is unauthenticated and low-complexity per the CVSS vector; no public exploit code was identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 16, 2026

Remote MMS Read requests can crash libIEC61850 MMS servers running versions prior to 1.6.2 when the server's data model contains array-typed variables. An unauthenticated attacker (CVSS vector PR:N, AV:N) sends an alternate-array-access read with numberOfElements greater than zero and a sub-array range that exceeds the array bounds; the resulting out-of-range MmsValue_getElement call returns NULL, which is then passed to MmsValue_isDeletable and dereferenced, producing a NULL pointer dereference and process crash. Impact is availability-only (CVSS 7.5, C:N/I:N/A:H) and scoped to the array sub-access code path, since the single-element error path handles the same invalid index safely; no public exploit identified at time of analysis.

RemediationAI

Upgrade to libIEC61850 1.6.2 or later, which is the vendor-released patch; it is published as tag v1.6.2 (https://github.com/mz-automation/libiec61850/releases/tag/v1.6.2) and the specific fix is commit 7c15310405def00cac628ebde4ce1404bfb8a411, with full details in advisory GHSA-8mfr-hq64-9w33. For embedded deployments, identify which third-party products bundle the library and obtain rebuilds from that vendor, since superseding the shared object alone may not be supported. If an immediate upgrade is impossible, apply compensating controls knowing their trade-offs: restrict network access to the MMS listening port (ISO-on-TCP, conventionally TCP 102) with firewall or ACL rules limited to trusted engineering and SCADA hosts, which blocks the attack surface but also blocks any legitimate remote MMS client until rules are tuned; place the server behind a protocol-aware gateway or VPN that vets or limits MMS Read requests, accepting added latency and complexity; and monitor for unexplained process restarts or crashes of the MMS server as an indicator of attempted exploitation. There is no pure configuration switch that removes this exposure, because the crash is reachable through normal MMS Read service on any server whose data model contains arrays; if the array set can be reduced or the alternate-array-access feature is not needed by clients, customizing the data model to avoid exposing array variables eliminates the vulnerable path, at the cost of breaking clients that rely on those variables. Note that instrumentation daemons monitoring crash-loop restarts should be treated as the last line of detection, not mitigation.

Affected VersionsENISA

libiec61850 < 1.6.2

Affected Packages

euvd libiec61850 fix: 1.6.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libIEC61850 is an open-source implementation of the IEC 61850 stack, including MMS (Manufacturing Message Specification, the client/server data-access protocol used by substation automation devices), GOOSE, Sampled Values and R-Session. The flaw lives in the MMS server read handling code, specifically the alternateArrayAccess function in src/mms/iso_mms/server/mms_read_service.c, and falls under CWE-129 (Improper Validation of Array Index). When an MMS Read request uses alternate array access, an ISO 9506-style addressing form that lets a client request a contiguous sub-array (lowIndex plus numberOfElements) rather than a single element, the code iterated the requested indices and called MmsValue_getElement on the backing array value. Because the function never verified that lowIndex plus numberOfElements stayed within MmsValue_getArraySize, an index past the end returned NULL; that NULL was handed to MmsValue_isDeletable, which dereferences it, crashing the process. The upstream fix at commit 7c15310405def00cac628ebde4ce1404bfb8a411 adds an explicit bounds check (lowIndex < 0, numberOfElements < 0, or lowIndex + numberOfElements greater than the array size) so the out-of-range branch leaves the result NULL and appends a proper data-access error, and it also adds a NULL check plus appendErrorToResultList(DATA_ACCESS_ERROR_OBJECT_NONE_EXISTENT) in the named-variable-list result construction path. The underlying MmsValue abstraction is what makes the impact asymmetric: an out-of-range single-element access is handled safely by an existing error path, but the sub-array branch bypasses that guard.

Know when Libiec61850 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Remote unauthenticated MMS Read triggers the crash (AV:N/PR:N/UI:N); low complexity as no race or special timing is needed; impact is availability-only (C:N/I:N/A:H) with no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Oct 16, 2026 - 17:17 EUVD
CVE Published
Oct 16, 2026 - 15:45 cve.org
HIGH 7.5

DescriptionCVE.org

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.

Technical POC Analysis

CWE-129 (Improper Validation of Array Index), with CWE-252, CWE-476, and CWE-754 as secondary classifications.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Organizations operating IEC 61850 MMS servers built on libIEC61850 - the communications backbone for electrical substation automation and other grid-control environments - face a remotely triggerable process-crash condition that requires no credentials and no user interaction. Every affected server is a single malformed read request away from losing availability, which in a substation or control-room context can interrupt operator visibility and supervisory control until the service is manually restarted. Because the flaw sits in a widely embedded third-party library and no vendor-released patch has been confirmed, leadership should treat this as an operational resilience exposure across the OT estate rather than an isolated software defect.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict and firewall MMS access (TCP/102) to authorized engineering and SCADA hosts on trusted network segments, since exploitation is unauthenticated and network-reachable; segment libIEC61850-based servers from general IT and untrusted zones using ICS-aware firewalls; monitor for malformed alternate-array-access read requests exceeding array bounds and for unexpected MMS process restarts; consider removing or restructuring array-typed variables in the exposed data model where operationally feasible, as their presence is required to trigger the fault; and maintain rapid service-restart procedures to limit availability loss. Migration target is libIEC61850 1.6.2 or later, at which this crash path is no longer reported.

Threat Intelligence Overview

Prevalence
Low
niche open-source IEC 61850 library for OT/substation automation
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2018-19185 CRITICAL POC
9.8 Nov 12

An issue has been found in libIEC61850 v1.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita

CVE-2018-18957 CRITICAL POC
9.8 Nov 05

An issue has been found in libIEC61850 v1.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita

CVE-2018-18834 CRITICAL POC
9.8 Oct 30

An issue has been found in libIEC61850 v1.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita

CVE-2020-7054 HIGH POC
8.8 Jan 14

MmsValue_decodeMmsData in mms/iso_mms/server/mms_access_result.c in libIEC61850 through 1.4.0 has a heap-based buffer ov

CVE-2019-19931 HIGH POC
8.8 Dec 23

In libIEC61850 1.4.0, MmsValue_decodeMmsData in mms/iso_mms/server/mms_access_result.c has a heap-based buffer overflow.

CVE-2024-28286 HIGH POC
7.5 Mar 21

In mz-automation libiec61850 v1.4.0, a NULL Pointer Dereference was detected in the mmsServer_handleFileCloseRequest.c f

CVE-2024-26529 HIGH POC
7.5 Mar 13

An issue in mz-automation libiec61850 v.1.5.3 and before, allows a remote attacker to cause a denial of service (DoS) vi

CVE-2023-27772 HIGH POC
7.5 Apr 13

libiec61850 v1.5.1 was discovered to contain a segmentation violation via the function ControlObjectClient_setOrigin() a

CVE-2022-21159 HIGH POC
7.5 Apr 15

A denial of service vulnerability exists in the parseNormalModeParameters functionality of MZ Automation GmbH libiec6185

CVE-2019-16510 HIGH POC
7.5 Sep 19

libIEC61850 through 1.3.3 has a use-after-free in MmsServer_waitReady in mms/iso_mms/server/mms_server.c, as demonstrate

CVE-2019-1010300 HIGH POC
7.5 Jul 15

mz-automation libiec61850 1.3.2 1.3.1 1.3.0 is affected by: Buffer Overflow. Rated high severity (CVSS 7.5), this vulner

CVE-2019-6719 HIGH POC
7.5 Jan 23

An issue has been found in libIEC61850 v1.3.1. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitabl

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy