libIEC61850: Oversized RptID can trigger invalid free of a stack-backed visible string in the report send path
What fixes it
- 1.6.2libiec61850GitHub
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
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.
Text from CVE List
Affected versions 2
- libiec61850affected: < 1.6.2CVE List
- libiec61850= < 1.6.1GitHub