---
id: CVE-2026-68908
title: >-
  libIEC61850: Oversized RptID can trigger invalid free of a stack-backed
  visible string in the report send path
summary: >-
  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
  repo…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'
cvssSource: cna
cwe:
  - CWE-590
  - CWE-664
  - CWE-763
vendor: mz-automation
product: libiec61850
affected:
  - libiec61850 < 1.6.2
ssvc:
  exploitation: poc
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-16T16:51:16.889294Z'
exploitAvailable: true
published: '2026-10-16'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T16:51:44.888Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-68908'
references:
  - url: >-
      https://github.com/mz-automation/libiec61850/security/advisories/GHSA-7qg8-hm25-rv5v
    label: >-
      https://github.com/mz-automation/libiec61850/security/advisories/GHSA-7qg8-hm25-rv5v
  - url: >-
      https://github.com/mz-automation/libiec61850/commit/5b2a69f44256b8548927d8afdd7ac5f5381abe1e
    label: >-
      https://github.com/mz-automation/libiec61850/commit/5b2a69f44256b8548927d8afdd7ac5f5381abe1e
  - url: 'https://github.com/mz-automation/libiec61850/releases/tag/v1.6.2'
    label: 'https://github.com/mz-automation/libiec61850/releases/tag/v1.6.2'
tags:
  - cve.org
  - exploit-available
ingestedAt: '2026-10-16T17:24:46.895Z'
---

## Overview

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.

## Affected

- `libiec61850 < 1.6.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
