{"id":"CVE-2026-68908","aliases":["EUVD-2026-102910","GHSA-7qg8-hm25-rv5v"],"status":"published","title":"libIEC61850: Oversized RptID can trigger invalid free of a stack-backed visible string in the report send path","description":"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, Reporting_RCBWriteAccessHandler accepts an RptID longer than 129 bytes in the report-control-block write path. When GI later causes sendNextReportEntrySegment to serialize the report, the function wraps rptIdBuf[130] as a temporary MmsValue and passes it to MmsValue_setVisibleString. The setter's resize path frees the stack-backed buffer, allowing a remote client to trigger an invalid free and server crash by writing the oversized RptID and then generating a report. This issue is fixed in version 1.6.2.","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00451,"percentile":0.39425,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-590","CWE-664","CWE-763"],"published":"2026-08-03T01:15:12.285Z","modified":"2026-10-28T11:17:19Z","products":[{"vendor":"mz automation","product":"libiec61850"},{"vendor":"mz-automation","product":"libiec61850"}],"references":[{"url":"https://github.com/mz-automation/libiec61850/security/advisories/GHSA-7qg8-hm25-rv5v","tags":["x_refsource_CONFIRM","exploit","advisory"]},{"url":"https://github.com/mz-automation/libiec61850/commit/5b2a69f44256b8548927d8afdd7ac5f5381abe1e","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/mz-automation/libiec61850/releases/tag/v1.6.2","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/mz-automation/libiec61850/","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/18xxx/CVE-2026-18582.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-18582","tags":["advisory"]},{"url":"https://vuldb.com/cve/CVE-2026-18582","tags":["advisory"]},{"url":"https://vuldb.com/submit/844920","tags":["advisory"]},{"url":"https://vuldb.com/vuln/385411","tags":["advisory"]},{"url":"https://github.com/gff-cw/information/issues/2","tags":["report"]},{"url":"https://vuldb.com/vuln/385411/cti","tags":["report"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/68xxx/CVE-2026-68908.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-68908","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-68908","title":"libIEC61850: Oversized RptID can trigger invalid free of a stack-backed visible string in the report send path","description":"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, Reporting_RCBWriteAccessHandler accepts an RptID longer than 129 bytes in the report-control-block write path. When GI later causes sendNextReportEntrySegment to serialize the report, the function wraps rptIdBuf[130] as a temporary MmsValue and passes it to MmsValue_setVisibleString. The setter's resize path frees the stack-backed buffer, allowing a remote client to trigger an invalid free and server crash by writing the oversized RptID and then generating a report. This issue is fixed in version 1.6.2.","status":"published","published":"2026-10-16T15:47:25.012Z","modified":"2026-10-16T16:51:44.888Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-590","CWE-664","CWE-763"],"updated_at":"2026-11-02T13:45:59.110885Z"}],"euvd":[{"id":"EUVD-2026-102910","description":"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, Reporting_RCBWriteAccessHandler accepts an RptID longer than 129 bytes in the report-control-block write path. When GI later causes sendNextReportEntrySegment to serialize the report, the function wraps rptIdBuf[130] as a temporary MmsValue and passes it to MmsValue_setVisibleString. The setter's resize path frees the stack-backed buffer, allowing a remote client to trigger an invalid free and server crash by writing the oversized RptID and then generating a report. This issue is fixed in version 1.6.2.","status":"published","published":"2026-10-16T15:47:25Z","modified":"2026-10-16T16:51:44Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"updated_at":"2026-11-02T17:00:04.71095Z"}],"nvd":[{"id":"CVE-2026-68908","description":"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, Reporting_RCBWriteAccessHandler accepts an RptID longer than 129 bytes in the report-control-block write path. When GI later causes sendNextReportEntrySegment to serialize the report, the function wraps rptIdBuf[130] as a temporary MmsValue and passes it to MmsValue_setVisibleString. The setter's resize path frees the stack-backed buffer, allowing a remote client to trigger an invalid free and server crash by writing the oversized RptID and then generating a report. This issue is fixed in version 1.6.2.","status":"published","published":"2026-10-16T16:20:01.14Z","modified":"2026-10-16T20:04:29.76Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"secondary"}],"cwes":["CWE-590","CWE-664","CWE-763"],"updated_at":"2026-11-02T14:13:00.123071Z"}],"osv":[{"id":"CVE-2026-18582","title":"mz-automation libiec61850 Report Sending Path reporting.c Reporting_RCBWriteAccessHandler free of memory not on the heap","description":"A security flaw has been discovered in mz-automation libiec61850 up to 1.6.1. This vulnerability affects the function Reporting_RCBWriteAccessHandler of the file src/iec61850/server/mms_mapping/reporting.c of the component Report Sending Path Handler. The manipulation results in free of memory not on the heap. It is possible to launch the attack remotely. The exploit has been released to the public and may be used for attacks. Upgrading to version 1.6.2 is able to resolve this issue. The patch is identified as 5b2a69f44256b8548927d8afdd7ac5f5381abe1e. It is suggested to upgrade the affected component. The vendor was contacted early about this disclosure.","status":"published","published":"2026-08-03T01:15:12.285Z","modified":"2026-10-28T10:50:28.719759205Z","cvss":[{"version":"4.0","score":5.5,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P","level":"medium"}],"cwes":["CWE-590"],"updated_at":"2026-11-02T15:44:58.024074Z"},{"id":"CVE-2026-68908","title":"libIEC61850: Oversized RptID can trigger invalid free of a stack-backed visible string in the report send path","description":"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, Reporting_RCBWriteAccessHandler accepts an RptID longer than 129 bytes in the report-control-block write path. When GI later causes sendNextReportEntrySegment to serialize the report, the function wraps rptIdBuf[130] as a temporary MmsValue and passes it to MmsValue_setVisibleString. The setter's resize path frees the stack-backed buffer, allowing a remote client to trigger an invalid free and server crash by writing the oversized RptID and then generating a report. This issue is fixed in version 1.6.2.","status":"published","published":"2026-10-16T15:47:25.012Z","modified":"2026-10-28T11:17:19.390943851Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"cwes":["CWE-590","CWE-664","CWE-763"],"updated_at":"2026-11-02T15:45:14.808935Z"}]}}
