Vulnerability Details : CVE-2020-15158
In libIEC61850 before version 1.4.3, when a message with COTP message length field with value < 4 is received an integer underflow will happen leading to heap buffer overflow. This can cause an application crash or on some platforms even the execution of remote code. If your application is used in open networks or there are untrusted nodes in the network it is highly recommend to apply the patch. This was patched with commit 033ab5b. Users of version 1.4.x should upgrade to version 1.4.3 when available. As a workaround changes of commit 033ab5b can be applied to older versions.
Vulnerability category: Overflow
Products affected by CVE-2020-15158
- cpe:2.3:a:mz-automation:libiec61850:*:*:*:*:*:*:*:*
Exploit prediction scoring system (EPSS) score for CVE-2020-15158
2.38%
Probability of exploitation activity in the next 30 days
EPSS Score History
~ 84 %
Percentile, the proportion of vulnerabilities that are scored at or less
CVSS scores for CVE-2020-15158
Base Score | Base Severity | CVSS Vector | Exploitability Score | Impact Score | Score Source | First Seen |
---|---|---|---|---|---|---|
7.5
|
HIGH | AV:N/AC:L/Au:N/C:P/I:P/A:P |
10.0
|
6.4
|
NIST | |
9.8
|
CRITICAL | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
3.9
|
5.9
|
NIST | |
7.7
|
HIGH | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:H |
1.8
|
5.3
|
GitHub, Inc. |
CWE ids for CVE-2020-15158
-
The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data.Assigned by: security-advisories@github.com (Secondary)
-
A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().Assigned by: security-advisories@github.com (Secondary)
-
The product subtracts one value from another, such that the result is less than the minimum allowable integer value, which produces a value that is not equal to the correct result.Assigned by: nvd@nist.gov (Primary)
References for CVE-2020-15158
-
https://github.com/mz-automation/libiec61850/issues/250
Possible heap buffer overflow when COTP message with invalid size is received · Issue #250 · mz-automation/libiec61850 · GitHubThird Party Advisory
-
https://github.com/mz-automation/libiec61850/commit/033ab5b6488250c8c3b838f25a7cbc3e099230bb
- COTP: fixed possible heap buffer overflow when handling message wit… · mz-automation/libiec61850@033ab5b · GitHubPatch;Third Party Advisory
-
https://github.com/mz-automation/libiec61850/security/advisories/GHSA-pq77-fmf7-hjw8
Possible heap buffer overflow when COTP message with invalid size is received · Advisory · mz-automation/libiec61850 · GitHubThird Party Advisory
Jump to