A heap-based buffer overflow exists in lib60870-C 2.4.0 in the server-side FileSegment ASDU encoding path. The issue occurs because FileSegment_encode() validates only the standalone segment length via FileSegment_GetMaxDataSize() and does not verify the residual capacity of the current ASDU frame before encoding object fields and segment data
https://github.com/mz-automation/lib60870/releases/tag/v2.4.0
https://github.com/mz-automation/lib60870/issues/201
https://github.com/mz-automation/lib60870/blob/master/user_guide.adoc