{"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","epss":0.00371,"epssPercentile":0.29512,"slug":"CVE-2026-68906","body":"## Overview\n\nlibIEC61850 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.\n\n## Affected\n\n- `libiec61850 < 1.6.2`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":48,"depthScoreParts":{"impact":47.8,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}