Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach MMS server on network
-
DeliverySend successful ObtainFile request
-
ExploitSend reusing ObtainFile that fails destination
-
ExecutionTrigger double-free on stale handle
-
ImpactCrash server (denial of service)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Double free prevention
|
| Exploitation Conditions | Exploitable only on servers where the MMS file service is enabled AND the ObtainFile operation is permitted - if the file service is disabled (a common hardened default), the vulnerable code path is unreachable. The attacker must send a specific two-step sequence: a first ObtainFile that succeeds, followed by a second ObtainFile that reuses the freed task and causes destination-file creation to fail, which invokes the MMS_FILE_UPLOAD_STATE_SEND_OBTAIN_FILE_ERROR_DESTINATION cleanup that closes the stale handle again. Per CVSS PR:N no authentication is required, but reachability is typically limited to the substation/automation network segment rather than the open internet; impact is limited to availability (server crash) with no data exposure. |
| Impact | This is a genuine but moderate-severity denial-of-service issue, not a high-priority emergency. The CVSS vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L, base 5.3 MEDIUM) is internally consistent with the description: a remote, unauthenticated (PR:N), low-complexity request sequence causes a double-free (CWE-415) that crashes the server, with availability-only impact (A:L) and no confidentiality or integrity effect. The real-world risk is bounded by two factors the raw score understates: exploitation is only possible when the MMS file service AND the ObtainFile operation are explicitly enabled (not universal defaults), and the product is niche OT/ICS middleware rather than mass-deployed software. No EPSS score, SSVC decision, KEV listing, or public POC was provided in the input; exploitation status is therefore 'no public exploit identified at time of analysis.' However, the fixing commit (d86b4a9) is public and clearly shows the vulnerable success-then-failure double-close path, which lowers the barrier to writing a working exploit even though none is confirmed public. Conflicting-signal note: the CVSS claims PR:N (unauthenticated), but MMS associations and the file service are typically reachable only inside segmented substation networks, so the practical attack surface is narrower than AV:N implies - verify exposure against your network architecture. |
| Exploit ScenarioDerived | An attacker with network reach to an MMS server that has the file service and ObtainFile enabled issues one ObtainFile request that completes successfully (closing the file handle but leaving a stale non-NULL pointer in the task), then issues a second ObtainFile that reuses the same task and is crafted so destination creation fails. The error-cleanup path then closes the already-freed FILE object a second time, triggering a double-free that crashes the server. No public exploit code was identified, but the public patch commit directly reveals the triggering sequence. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Remote denial of service in libIEC61850 1.6.1 allows an unauthenticated network attacker to crash an MMS server that has the file service and ObtainFile operation enabled. A successful ObtainFile frees the task's file handle but leaves the stale non-NULL pointer in a task reset to the NOT_USED state; a subsequent ObtainFile that reuses that task and fails destination-file creation then closes the already-freed handle a second time (CWE-415 double free), aborting the server process. Exploitation requires a specific success-then-failure request sequence and reachability to the exposed MMS endpoint; no public exploit code has been identified at time of analysis, and impact is limited to availability (CVSS 5.3, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L) with no data exposure. The flaw is confirmed fixed in version 1.6.2.
RemediationAI
Vendor-released patch: upgrade to libIEC61850 1.6.2, per the release at https://github.com/mz-automation/libiec61850/releases/tag/v1.6.2 and the advisory at https://github.com/mz-automation/libiec61850/security/advisories/GHSA-cxgr-7v9h-fj9p; integrators who vendor or statically link the library should apply commit d86b4a9c7a903641819235e1678b18901518f3cd (or an equivalent patch that closes and NULLs fileHandle on task teardown and clears fileTask->fileHandle in handleConfirmedResponsePdu) and rebuild. If upgrading is not immediately possible, disable the MMS file service or disallow the ObtainFile operation on the server, which makes the vulnerable code path unreachable at the cost of losing file-transfer functionality; because both steps of the trigger sequence must be delivered to the MMS endpoint, also restrict network access to the MMS/TCP listener at the substation firewall or gateway so that only trusted engineering and SCADA subnets can reach it, accepting that this is a perimeter control rather than a root-cause fix. Restart-on-crash supervision (systemd or a watchdog on the server process) limits outage duration but does not prevent the fault, and there is no benefit to credential or authentication hardening here since the vector is PR:N and the trigger needs no valid credentials.
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 is an open-source C implementation of the IEC 61850 stack used in substation automation and industrial control systems, covering MMS, GOOSE, Sampled Values and R-Session, published by MZ Automation (CPE cpe:2.3:a:mz-automation:libiec61850). The vulnerable component is the MMS server's file service in src/mms/iso_mms/server/mms_file_service.c, where MmsObtainFileTask objects carry a FileSystem file handle used for the ObtainFile file-transfer operation. The root cause is CWE-415 (Double Free): when an ObtainFile succeeds and the transfer completes, the task is returned to MMS_FILE_UPLOAD_STATE_NOT_USED by setting only the state field, without releasing or clearing task->fileHandle, so a dangling pointer survives. If a later ObtainFile request reuses that task and destination-file creation fails, the MMS_FILE_UPLOAD_STATE_SEND_OBTAIN_FILE_ERROR_DESTINATION cleanup path calls FileSystem_closeFile on the stale handle, freeing it a second time and terminating the process. The upstream commit d86b4a9c7a903641819235e1678b18901518f3cd addresses this by introducing a changeObtainFileStateToUnused() helper that closes and NULLs the handle while resetting connection, frmsId, destinationFilename, invoke IDs and timeout state, by caching the IsoConnection pointer locally during task processing so it is not dereferenced after teardown, and by explicitly setting fileTask->fileHandle = NULL in handleConfirmedResponsePdu in mms_server_connection.c. The fix carries no memory-safety or protocol-correctness regressions beyond the state reset semantics.
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:N/I:N/A:L
Remote unauthenticated attacker-controlled request sequence (AV:N/AC:L/PR:N/UI:N) triggers a double-free; impact is availability-only server crash (A:L) with no C/I effect.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
libIEC61850 is an open-source implementation of IEC 61850 client and server protocols including MMS, GOOSE, Sampled Values, and R-Session. From 1.6.1 until 1.6.2, a successful MMS ObtainFile operation closes MmsObtainFileTask::fileHandle but leaves the stale non-NULL value in a task marked MMS_FILE_UPLOAD_STATE_NOT_USED. If a later ObtainFile request reuses that task and destination creation fails, MMS_FILE_UPLOAD_STATE_SEND_OBTAIN_FILE_ERROR_DESTINATION cleanup closes the stale FILE object again. Servers with the MMS file service and ObtainFile enabled can therefore be crashed remotely by the success-then-failure request sequence. This issue is fixed in version 1.6.2.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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-102909
NVD
CVE.org
GitHub
Exploit-DB