CVE-2020-12887
Summary
| CVE | CVE-2020-12887 |
|---|---|
| State | PUBLIC |
| Assigner | [email protected] |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2020-06-18 19:15:00 UTC |
| Updated | 2021-07-21 11:39:00 UTC |
| Description | Memory leaks were discovered in the CoAP library in Arm Mbed OS 5.15.3 when using the Arm mbed-coap library 5.1.5. The CoAP parser is responsible for parsing received CoAP packets. The function sn_coap_parser_options_parse() parses the CoAP option number field of all options present in the input packet. Each option number is calculated as a sum of the previous option number and a delta of the current option. The delta and the previous option number are expressed as unsigned 16-bit integers. Due to lack of overflow detection, it is possible to craft a packet that wraps the option number around and results in the same option number being processed again in a single packet. Certain options allocate memory by calling a memory allocation function. In the cases of COAP_OPTION_URI_QUERY, COAP_OPTION_URI_PATH, COAP_OPTION_LOCATION_QUERY, and COAP_OPTION_ETAG, there is no check on whether memory has already been allocated, which in conjunction with the option number integer overflow may lead to multiple assignments of allocated memory to a single pointer. This has been demonstrated to lead to memory leak by buffer orphaning. As a result, the memory is never freed. |
Risk And Classification
Problem Types: CWE-190 | CWE-401
NVD Known Affected Configurations (CPE 2.3)
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| Bugfix/coap parser mem access bugs by mjurczak · Pull Request #116 · ARMmbed/mbed-coap · GitHub | CONFIRM | github.com | Third Party Advisory |
| Implemented measures to prevent memory leaks in sn_coap_parser_option… · mjurczak/mbed-coap@4647a68 · GitHub | MISC | github.com | Patch, Third Party Advisory |
| Memory leak in MbedOS CoAP library parser - sn_coap_parser_options_parse() · Issue #12957 · ARMmbed/mbed-os · GitHub | MISC | github.com | Third Party Advisory |
| Integer overflow in MbedOS CoAP library parser · Issue #12930 · ARMmbed/mbed-os · GitHub | MISC | github.com | Third Party Advisory |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.