---
id: CVE-2026-68906
title: >-
  libIEC61850: Infinite loop and out-of-bounds read in ACSE parseUserInformation
  when parsing a malformed AARE PDU
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,
  parseUserInformation in src/mms/iso_acse/acse.c checks len for zero before
  validat…
severity: high
cvss: 8.7
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'
cvssSource: cna
cwe:
  - CWE-125
  - CWE-835
vendor: mz-automation
product: libiec61850
affected:
  - libiec61850 < 1.6.2
published: '2026-10-16'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T15:49:32.595Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-68906'
references:
  - url: >-
      https://github.com/mz-automation/libiec61850/security/advisories/GHSA-f7xm-q62q-22cx
    label: >-
      https://github.com/mz-automation/libiec61850/security/advisories/GHSA-f7xm-q62q-22cx
  - url: >-
      https://github.com/mz-automation/libiec61850/commit/2edf2a12bf0ced6a2ac595862e3e873814983f7f
    label: >-
      https://github.com/mz-automation/libiec61850/commit/2edf2a12bf0ced6a2ac595862e3e873814983f7f
  - 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
ingestedAt: '2026-10-16T17:24:46.832Z'
---

## 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, parseUserInformation in src/mms/iso_acse/acse.c checks len for zero before validating the negative bufPos returned by BerDecoder_decodeLength for a truncated long-form length. The continue path therefore swallows the error, reads buffer[-1], resets parsing to the beginning, and repeats the same malformed state. An unauthenticated remote peer can send a malformed AARE PDU during association to cause an infinite CPU loop under a normal allocator or a one-byte out-of-bounds read and process abort when the preceding byte is inaccessible. 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.
