Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed MMS file service (TCP/102)
-
DeliverySend fileOpen with out-of-range initialPosition
-
ExploitTrigger unsigned underflow in fileRead
-
ExecutionReceive oversized response with stale buffer bytes
-
ImpactHarvest leaked prior-response data
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer underflow checks
|
| Exploitation Conditions | Requires the MMS file service to be enabled on the libIEC61850 server (not universally configured) and network reachability to the MMS/TCP listener; per CVSS PR:N the attack is unauthenticated. The attacker must specifically supply an out-of-range initialPosition in fileOpen (readPosition >= fileSize) to force the unsigned underflow in the fileRead path. Limiting factors: affected versions are strictly prior to 1.6.2; disclosure is confined to whatever stale bytes remain in the reused connection/send buffer, so the attacker cannot choose or guarantee the sensitivity of leaked data, and no availability or integrity impact occurs. |
| Impact | This is a genuine but moderate-priority information-disclosure flaw, not a top-tier emergency. The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, 7.5) correctly reflects network-reachable, unauthenticated, low-complexity access with no user interaction, which is why it scores HIGH - but the C:H rating appears generous: the leak is limited to stale bytes from the reused send/connection buffer after the requested file, which the attacker cannot target or fully control, making a C:L (limited, opportunistic disclosure) reading more defensible and the real severity closer to MEDIUM. No EPSS score, KEV listing, or POC was provided in the intelligence set, so there is no public exploit identified at time of analysis and no evidence of active exploitation. There is no SSVC decision data supplied. The root cause is confirmed by the vendor commit (unsigned underflow of fileSize - readPosition, CWE-191, plus failure to bound the response to the actual FileSystem_readFile return). Net: real and worth patching, but absent exploitation signals it is a routine high-CVSS issue rather than an urgent widespread threat, further tempered because the MMS file service must be enabled for the vulnerable path to be reachable. |
| Exploit ScenarioDerived | An unauthenticated attacker with network access to an exposed MMS server (IEC 61850 TCP/102) sends a fileOpen request specifying an initialPosition beyond the file's size, then issues a fileRead. The server's unsigned subtraction underflows to a huge byteLeft value and returns an oversized response padded with leftover connection-buffer bytes from prior responses, leaking protocol fragments and earlier response data back to the client. No public POC is referenced; the attack is low-complexity given the described arithmetic flaw. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
An unauthenticated remote client can disclose stale memory contents from a libIEC61850 server running the MMS file service, because a crafted out-of-range initialPosition in a fileOpen request drives an unsigned integer underflow in the fileRead path and produces an oversized response that appends leftover bytes from the reused connection buffer. All versions prior to 1.6.2 are affected, and exploitation requires only network reachability to the MMS/TCP listener with the file service enabled - a non-default configuration. No public exploit code has been identified at time of analysis and there is no confirmed active exploitation, though the independently assessed confidentiality impact is moderate rather than catastrophic since the attacker cannot select or guarantee the sensitivity of the leaked bytes.
RemediationAI
Upgrade to libIEC61850 v1.6.2 (vendor-released patch), available at https://github.com/mz-automation/libiec61850/releases/tag/v1.6.2, which fully addresses the issue as detailed in advisory GHSA-4c8m-jr3r-h8j2 and the fixing commit bba5bf2fab6d7ac88f5accb4c9e90b123436ebf2; note that unlike the upstream commit, applying only the read-path checks without the GLOBAL_CALLOC buffer zero-initialization change may leave residual stale-data exposure, so adopt the complete patch. Where immediate upgrade is not possible, the most effective compensating control is to disable the MMS file service in the server build/configuration if file transfer is not operationally required, which removes the vulnerable fileOpen/fileRead handling entirely at the cost of losing standards-based file transfer; if the service is needed, restrict network access to the MMS/ISO-over-TCP listener (conventionally TCP 102) to trusted engineering and SCADA hosts via firewall or ACL rules, accepting that this limits legitimate remote management reach. Restarting server processes reduces the window in which stale sensitive bytes linger in reused connection buffers, and zero-initializing or sanitizing those buffers in any local fork of the code provides defense in depth. Per the independent assessment this is a moderate-priority information-disclosure flaw, so remediation should be scheduled rather than treated as an emergency, especially since leaked data is limited to indeterminate stale buffer contents with no integrity or availability impact.
Affected VersionsENISA
Affected Packages
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, maintained by MZ Automation, is an open-source implementation of the IEC 61850 substation automation protocols, covering MMS, GOOSE, Sampled Values, and R-Session for both client and server roles. The flaw lives in the MMS file service in src/mms/iso_mms/server/mms_file_service.c and corresponds to CWE-191 (Integer Underflow). During a fileOpen request, the server accepts an attacker-supplied initialPosition without validating it against the file size and persists it as readPosition in the file-read state. In the subsequent fileRead handling, the code computes the remaining length as fileSize minus readPosition using unsigned arithmetic; when readPosition exceeds fileSize the subtraction wraps to a very large value. The original code then failed to check the return value of FileSystem_readFile, so the response payload was sized from the bogus chunk length rather than the bytes actually read, causing the response to include bytes still present in the reused connection/send buffer after the real file data. The upstream fix (commit bba5bf2fab6d7ac88f5accb4c9e90b123436ebf2) rejects fileOpen with MMS_ERROR_FILE_POSITION_INVALID when readPosition >= fileSize, clamps bytesLeft to zero on underflow, validates that the read size matches the requested chunk and returns MMS_ERROR_FILE_OTHER otherwise, and switches connection buffer allocation from GLOBAL_MALLOC to GLOBAL_CALLOC so receive, send, COTP, and socket-extension buffers are zero-initialized to prevent accidental data leakage.
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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network-reachable, unauthenticated, low-complexity per the patch and MMS transport; C:L rather than C:H because the leak is bounded, uncontrolled stale buffer bytes; I/A unaffected.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.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, the MMS file service in src/mms/iso_mms/server/mms_file_service.c accepts an out-of-range initialPosition in fileOpen and stores it in the file-read state. The fileRead path then 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 after the requested file contents, disclosing prior response data and protocol fragments to an unauthenticated remote client when the file service is enabled. This issue is fixed in version 1.6.2.
Technical POC Analysis
CWE-191 (Integer Underflow) in src/mms/isomms/server/mmsfileservice.c of mz-automation/libiec61850.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
LibIEC61850 deployments that enable the MMS file service can expose process memory to a remote network client, creating a confidentiality risk for industrial control environments. The flaw affects versions before 1.6.2, and while exploitation requires a non-default service and network reachability, affected stacks are often embedded in OT gateways, HMI, and SCADA components that leadership treats as critical infrastructure. Because no public exploit or active exploitation has been identified, this is a manageable but urgent exposure-reduction priority rather than an immediate incident response trigger.
No vendor-released patch identified at time of analysis. Interim mitigations: disable MMS file service if not required, restrict MMS/TCP listener access to trusted OT zones via firewall/ACLs, segment affected libIEC61850 assets, enable monitoring for abnormal fileOpen/fileRead activity, and apply vendor patch once available.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Libiec61850
View allAn issue has been found in libIEC61850 v1.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita
An issue has been found in libIEC61850 v1.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita
An issue has been found in libIEC61850 v1.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita
MmsValue_decodeMmsData in mms/iso_mms/server/mms_access_result.c in libIEC61850 through 1.4.0 has a heap-based buffer ov
In libIEC61850 1.4.0, MmsValue_decodeMmsData in mms/iso_mms/server/mms_access_result.c has a heap-based buffer overflow.
In mz-automation libiec61850 v1.4.0, a NULL Pointer Dereference was detected in the mmsServer_handleFileCloseRequest.c f
An issue in mz-automation libiec61850 v.1.5.3 and before, allows a remote attacker to cause a denial of service (DoS) vi
libiec61850 v1.5.1 was discovered to contain a segmentation violation via the function ControlObjectClient_setOrigin() a
A denial of service vulnerability exists in the parseNormalModeParameters functionality of MZ Automation GmbH libiec6185
libIEC61850 through 1.3.3 has a use-after-free in MmsServer_waitReady in mms/iso_mms/server/mms_server.c, as demonstrate
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
An issue has been found in libIEC61850 v1.3.1. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitabl
EUVD-2026-102907
NVD
CVE.org
Vulnrichment
GitHub
Exploit-DB