Critical severity · published May 1, 2024
CVE-2024-32017
Buffer overflows in RIOT
9.0
CVSS
1.6%
EPSS
No
On KEV
Description
RIOT is a real-time multi-threading operating system that supports a range of devices that are typically 8-bit, 16-bit and 32-bit microcontrollers. The size check in the `gcoap_dns_server_proxy_get()` function contains a small typo that may lead to a buffer overflow in the subsequent `strcpy()`. In detail, the length of the `_uri` string is checked instead of the length of the `_proxy` string. The `_gcoap_forward_proxy_copy_options()` function does not implement an explicit size check before copying data to the `cep->req_etag` buffer that is `COAP_ETAG_LENGTH_MAX` bytes long. If an attacker can craft input so that `optlen` becomes larger than `COAP_ETAG_LENGTH_MAX`, they can cause a buffer overflow. If the input above is attacker-controlled and crosses a security boundary, the impact of the buffer overflow vulnerabilities could range from denial of service to arbitrary code execution. This issue has yet to be patched. Users are advised to add manual bounds checking.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Attack vector
Network
Complexity
High
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Changed
Exploitation
Is it being used?
Exploit prediction (EPSS)1.6% · higher than 75% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
RI
RIOT · RIOT-OS
<= 2023.10 · source: vendor, NVD, CISA
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2024-32017
CVE.org
https://www.cve.org/CVERecord?id=CVE-2024-32017
Mailing List
http://seclists.org/fulldisclosure/2024/May/7
Mailing List
http://www.openwall.com/lists/oss-security/2024/05/07/3
Product
https://github.com/RIOT-OS/RIOT/blob/master/sys/net/application_layer/gcoap/dns.c#L319-L325
Product
https://github.com/RIOT-OS/RIOT/blob/master/sys/net/application_layer/gcoap/forward_proxy.c#L352
Exploit
https://github.com/RIOT-OS/RIOT/security/advisories/GHSA-v97j-w9m6-c4h3
More from RIOT
9.8
CVE-2026-49868
RIOT: DHCPv6 client _parse_reply() missing sub-option length check leads to size_t underflow and unbounded OOB heap read
9.8
CVE-2026-27703
RIOT has an Out-of-Bounds Write in nanoCoAP Handler
9.8
CVE-2026-22214
RIOT OS <= 2026.01-devel-317 Stack-Based Buffer Overflow in ethos Serial Frame Parser
9.8
CVE-2026-22213
RIOT OS <= 2026.01-devel-317 Stack-Based Buffer Overflow in tapslip6 Utility
9.8
CVE-2025-66647
RIOT OS has buffer overflow in gnrc_ipv6_ext_frag_reass
