{"id":"CVE-2020-15350","aliases":["EUVD-2020-7347","GHSA-cw49-2735-59j9"],"status":"published","title":"RIOT 2020.04 has a buffer overflow in the base64 decoder. The decoding function base64_decode()...","description":"RIOT 2020.04 has a buffer overflow in the base64 decoder. The decoding function base64_decode() uses an output buffer estimation function to compute the required buffer capacity and validate against the provided buffer size. The base64_estimate_decode_size() function calculates the expected decoded size with an arithmetic round-off error and does not take into account possible padding bytes. Due to this underestimation, it may be possible to craft base64 input that causes a buffer overflow.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-11","score":0.01475,"percentile":0.74167,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-119","CWE-120","CWE-131"],"published":"2020-07-07T16:37:39Z","modified":"2026-06-17T02:56:32Z","products":[{"vendor":"riot-os","product":"riot"}],"references":[{"url":"https://drive.google.com/file/d/1jMCAi8uawV1-an5uCghIxT2TEdxCE1Lk/view?usp=sharing","tags":["x_refsource_MISC","x_transferred","Mailing List","Patch","Third Party Advisory"]},{"url":"https://github.com/RIOT-OS/RIOT/pull/14400","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15350"},{"url":"https://github.com/advisories/GHSA-cw49-2735-59j9"}],"sources":{"cve":[{"id":"CVE-2020-15350","description":"RIOT 2020.04 has a buffer overflow in the base64 decoder. The decoding function base64_decode() uses an output buffer estimation function to compute the required buffer capacity and validate against the provided buffer size. The base64_estimate_decode_size() function calculates the expected decoded size with an arithmetic round-off error and does not take into account possible padding bytes. Due to this underestimation, it may be possible to craft base64 input that causes a buffer overflow.","status":"published","published":"2020-07-07T16:37:39Z","modified":"2024-08-04T13:15:20.192Z","updated_at":"2026-11-02T14:35:50.545879Z"}],"euvd":[{"id":"EUVD-2020-7347","description":"RIOT 2020.04 has a buffer overflow in the base64 decoder. The decoding function base64_decode() uses an output buffer estimation function to compute the required buffer capacity and validate against the provided buffer size. The base64_estimate_decode_size() function calculates the expected decoded size with an arithmetic round-off error and does not take into account possible padding bytes. Due to this underestimation, it may be possible to craft base64 input that causes a buffer overflow.","status":"published","published":"2020-07-07T16:37:39Z","modified":"2024-08-04T13:15:20Z","updated_at":"2026-11-03T03:07:31.955969Z"}],"ghsa":[{"id":"GHSA-cw49-2735-59j9","title":"RIOT 2020.04 has a buffer overflow in the base64 decoder. The decoding function base64_decode()...","description":"RIOT 2020.04 has a buffer overflow in the base64 decoder. The decoding function base64_decode() uses an output buffer estimation function to compute the required buffer capacity and validate against the provided buffer size. The base64_estimate_decode_size() function calculates the expected decoded size with an arithmetic round-off error and does not take into account possible padding bytes. Due to this underestimation, it may be possible to craft base64 input that causes a buffer overflow.","status":"published","published":"2022-05-24T17:22:30Z","modified":"2023-01-29T05:03:36Z","cwes":["CWE-120"],"updated_at":"2026-11-02T14:45:21.37961Z"}],"nvd":[{"id":"CVE-2020-15350","description":"RIOT 2020.04 has a buffer overflow in the base64 decoder. The decoding function base64_decode() uses an output buffer estimation function to compute the required buffer capacity and validate against the provided buffer size. The base64_estimate_decode_size() function calculates the expected decoded size with an arithmetic round-off error and does not take into account possible padding bytes. Due to this underestimation, it may be possible to craft base64 input that causes a buffer overflow.","status":"published","published":"2020-07-07T17:15:10.53Z","modified":"2026-06-17T02:56:32.8Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-119","CWE-131"],"updated_at":"2026-11-02T14:06:09.126752Z"}]}}
