Skip to main content

libIEC61850 EUVDEUVD-2026-102911

| CVE-2026-68907 HIGH
Out-of-bounds Read (CWE-125)
2026-10-16 GitHub_M
8.2
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach MMS server over network
  2. Exploit
    Send crafted defineNamedVariableList request
  3. Execution
    Trigger out-of-bounds read in checkDataSetAccess
  4. Impact
    Crash server (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the IEC 61850 server to have the dynamic dataset service enabled AND a dataset access handler installed - both non-default integration choices - and the attacker must send a defineNamedVariableList request that drives construction of an MMS_ASSOCIATION_SPECIFIC dataset reference, hitting the reversed-argument StringUtils_copyStringToBuffer call in checkDataSetAccess. No authentication is required (PR:N) and no user interaction is needed (UI:N), so any network-reachable attacker against a vulnerable configuration can trigger it; the limiting factor is purely the required server-side configuration (the AT:P / Attack Requirement), meaning servers without dynamic datasets or without an installed dataset access handler are not exposed.

Impact

The input CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H) scores 8.2 and describes a remote, unauthenticated, availability-only impact with an Attack Requirement present (AT:P) - the latter aligns exactly with the description's precondition that the server have dynamic dataset service enabled and a dataset access handler installed. There is no CISA KEV listing and no EPSS score provided, so widespread or confirmed active exploitation cannot be asserted; a vendor commit diff is public (fix replacing StringUtils_copyStringToBuffer with bounded StringUtils_copyStringMax) but no weaponized proof-of-concept exploit is published, so this is 'no public exploit identified at time of analysis.' CWE-125 (out-of-bounds read) plus the advisory's own statement that denial of service - not code execution - is the primary impact means this is a crash/DoS bug, not an RCE, despite caller stack corruption being observed. Net assessment: a genuine but context-gated risk for operators running the vulnerable configuration in OT/ICS environments where availability is critical, rather than a mass-exploitable internet-wide emergency. Note the 'Information Disclosure' tag conflicts with the CVSS confidentiality metric (VC:N) and the advisory's DoS-primary framing - treat info-disclosure as theoretical/unconfirmed.

Exploit ScenarioDerived

An attacker with network reachability to an IEC 61850 MMS server that has dynamic dataset service and a dataset access handler enabled sends a crafted defineNamedVariableList request constructing an MMS_ASSOCIATION_SPECIFIC dataset reference. The reversed source/destination arguments cause strlen to read past the uninitialized dataSetRef[130] stack buffer and copy out-of-bounds bytes into the listName buffer, crashing the server. No public exploit code exists, but the upstream fix commit discloses the exact defective code path.

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

Denial of service in mz-automation libIEC61850 before 1.6.2 lets a remote, unauthenticated attacker crash IEC 61850 servers by sending a single defineNamedVariableList MMS request. The bug is a stack out-of-bounds read (CWE-125) in checkDataSetAccess, where source and destination arguments are reversed in a StringUtils_copyStringToBuffer call used to build an MMS_ASSOCIATION_SPECIFIC dataset reference, so an uninitialized 130-byte stack buffer is treated as a source string and strlen walks past its bounds before those bytes are copied into the caller-owned listName buffer. Exposure is conditional: the server must have the dynamic dataset service enabled and a dataset access handler installed, both non-default integration choices, but any network-reachable server configured that way is trivially hit for a full loss of availability; the vulnerability is fixed in release v1.6.2 and no public exploit code was identified at time of analysis. No CISA KEV entry is associated with this CVE, and the tags indicating information disclosure reflect leaked stack bytes rather than a confirmed confidentiality breach, since the assessed impact is availability-only.

RemediationAI

Upgrade to libIEC61850 v1.6.2, which is the vendor-released fix; the release contains commit 062062daf4cb50c7aa76e01d6fb4d58fc9278a7d, which swaps the reversed, unbounded StringUtils_copyStringToBuffer calls in checkDataSetAccess for bounded StringUtils_copyStringMax(dataSetRef, 129, listName) calls and eliminates the out-of-bounds strlen. Vendors who cannot immediately consume the release can backport that two-line change to their bundled copy, though this must be validated against their own build because the bounded helper caps the reference at 129 bytes. If patching is not currently possible, the most effective compensating control is configuration-side: disable the dynamic dataset service and do not register a dataset access handler on servers that do not require them - this removes the vulnerable code path entirely and is the only mitigation that fully eliminates exposure, at the cost of losing runtime dataset definition for clients that rely on it. Servers that genuinely need dynamic datasets should restrict who can reach the MMS endpoint, for example by firewalling TCP port 102 to the known SCADA/engineering-workstation subnets or by placing the server behind a protocol-aware gateway, accepting that this breaks unplanned multi-vendor client connectivity. Note that because the trigger is a single unauthenticated defineNamedVariableList request, rate limiting or query filtering offers only weak protection; there is no reliable way to sanitize the malicious request at the application layer without the code fix. Monitor MMS traffic for anomalous defineNamedVariableList requests as a detection, and review the advisory at https://github.com/mz-automation/libiec61850/security/advisories/GHSA-7v2x-39mw-2979 for any vendor-specific guidance.

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 C implementation of the IEC 61850 stack used in substation and industrial automation environments, covering MMS, GOOSE, Sampled Values and R-Session. The flaw lives in src/iec61850/server/mms_mapping/mms_mapping.c inside checkDataSetAccess, the routine that validates and builds dataset references for MMS services. When a remote client issues an MMS defineNamedVariableList request that drives construction of an MMS_ASSOCIATION_SPECIFIC dataset reference, the code called StringUtils_copyStringToBuffer with its arguments reversed: the uninitialized local storage dataSetRef[130] was passed where the source string is expected, and the intended destination listName was passed as the destination. Because dataSetRef was never initialized, the helper's strlen() scanned past the end of the 130-byte stack buffer, producing an out-of-bounds read of adjacent stack memory and, subsequently, a copy of those bytes (bounded only by whatever the runaway strlen produced) into the caller-owned listName buffer - the mechanism behind the CWE-125 classification and the advisory's note about caller stack corruption. The upstream fix in commit 062062daf4cb50c7aa76e01d6fb4d58fc9278a7d replaces both calls with the bounded variant StringUtils_copyStringMax(dataSetRef + 1, 129, listName) and StringUtils_copyStringMax(dataSetRef, 129, listName), capping the copy at 129 bytes and removing the unbounded strlen. This behavior is reachable only when the server has dynamic dataset service enabled and a dataset access handler installed, matching the Attack Requirement (AT:P) in the CVSS 4.0 vector and the AC:H rating in the independent CVSS 3.1 assessment. The 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H, score 8.2) and the 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) both converge on a remote, unauthenticated, availability-only impact.

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 8.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.9 MEDIUM

Remote unauthenticated (AV:N/PR:N); AC:H reflects the required non-default dataset-service/handler configuration; impact is crash-only so C:N/I:N/A:H.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/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
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

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

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, 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.

Technical POC Analysis

Primary class is CWE-125 (out-of-bounds read); the advisory also tags CWE-457 (use of uninitialized variable) and CWE-628 (function called with incorrectly specified arguments).

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

mz-automation's libIEC61850 library - widely embedded in IEC 61850 substation and industrial automation servers - can be remotely crashed by a single malformed MMS request, causing complete loss of availability for any affected server. The flaw only bites where operators have enabled the non-default dynamic dataset service and installed a dataset access handler, but those integrations are exactly the ones used in flexible, data-model-driven deployments, and the crash requires no successful login and no user interaction. Leadership should care because an unplanned outage of IEC 61850 communications can blind operators to grid or process conditions, and the library ships inside third-party products, so affected assets may not be visible in a standard software inventory.

Business Impact: High
Compensating Controls

Apply vendor patch (upgrade to libIEC61850 v1.6.2 or later); if the upgrade cannot be applied immediately, disable the dynamic dataset service and remove custom dataset access handlers to eliminate the exposure condition, and restrict network reachability to the MMS service (commonly TCP port 102) to trusted hosts only.

Threat Intelligence Overview

Prevalence
Low
niche IEC 61850 OT/ICS protocol library, power-utility and substation deployments only
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org Vulnrichment GitHub

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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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