{"answers":{"affected":"It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-32017 exists.","fix":"No fix has been published for CVE-2024-32017 yet. Limit exposure of the affected software until one is available.","what":"CVE-2024-32017 is a critical memory corruption vulnerability in RIOT-OS RIOT, published on 1 May 2024. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2024-32017 and fix it if it is affected.\n\nWhat it is: CVE-2024-32017 is a critical memory corruption vulnerability in RIOT-OS RIOT, published on 1 May 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-32017 exists.\n\nAffected product: RIOT-OS RIOT. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2024-32017/ (Markdown: https://insights.sbomify.com/CVE-2024-32017/index.md)","id":"CVE-2024-32017","markdown":"https://insights.sbomify.com/CVE-2024-32017/index.md","name":"CVE-2024-32017","record":{"aliases":["GHSA-v97j-w9m6-c4h3"],"analysis":{"component_type":"operating_system","fix_type":"no_fix_stated","impacts":["code_execution","denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"RIOT OS","requires_auth":"none","summary":"Buffer overflows in RIOT OS allow attackers to cause denial of service or execute arbitrary code via crafted CoAP messages.","user_interaction":"not_required","vuln_class":"memory_corruption"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"riot","vendor":"riot-os"}],"cvss":{"score":9.8,"severity":"critical","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-120","name":"Buffer Copy without Checking Size of Input"}],"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-\u003ereq_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.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"Buffer overflows in RIOT","id":"CVE-2024-32017","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"memory_corruption","year":"2024"},"n_packages":0,"n_references":5,"next":{"headline":"Ineffective size check due to assert() and buffer overflow in RIOT","id":"CVE-2024-32018"},"packages":[],"prev":{"headline":"Privilege escalation in Spectrum Power 4","id":"CVE-2024-32014"},"products":["RIOT"],"published":"2024-05-01","related":[{"cvss_score":9.8,"headline":"RIOT-OS vulnerable to Out of Bounds Write in _rbuf_add","id":"CVE-2023-33975","kev_date_added":null,"published":"2023-05-30"},{"cvss_score":9.8,"headline":"RIOT-OS vulnerable to Buffer Overflow during IPHC receive","id":"CVE-2023-24819","kev_date_added":null,"published":"2023-04-24"},{"cvss_score":9.8,"headline":"RIOT-OS vulnerable to Packet Type Confusion during IPHC send","id":"CVE-2023-24823","kev_date_added":null,"published":"2023-04-24"},{"cvss_score":9.8,"headline":"Memory corruption in n/a","id":"CVE-2021-27357","kev_date_added":null,"published":"2021-04-06"},{"cvss_score":9.8,"headline":"Memory corruption in n/a","id":"CVE-2021-27697","kev_date_added":null,"published":"2021-04-06"},{"cvss_score":9.8,"headline":"Memory corruption in n/a","id":"CVE-2021-27698","kev_date_added":null,"published":"2021-04-06"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"poc","technical_impact":"total"},"state":"PUBLISHED","updated":"2025-02-13","vendors":["RIOT-OS"]},"summary":"Buffer overflows in RIOT OS allow attackers to cause denial of service or execute arbitrary code via crafted CoAP messages.","url":"https://insights.sbomify.com/CVE-2024-32017/"}