RIOT: Potential integer overflow in nanocoap Block2 handling leading to out-of-bounds memory access
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
RIOT is an open-source microcontroller operating system designed for Internet of Things devices and other embedded systems. Prior to 2026.07, nanocoap accepts oversized CoAP Block2 option values without enforcing the 20-bit maximum block number, allowing block offset multiplication to overflow on 32-bit targets. The affected master baseline is commit aeeae69e; the verified fix is later on master and remains unreleased. The oversized value passes from coap_get_blockopt() to coap_block_slicer_init(). A remote CoAP client can send a malformed Block2 option that produces an invalid slice range and can cause out-of-bounds memory access, denial of service, or memory corruption. This vulnerability is fixed in 2026.07.
Text from CVE List
Affected versions 2
- RIOTaffected: < 2026.07CVE List
- RIOT<= master (commit aeeae69e)GitHub
References 4
- github.com/RIOT-OS/RIOT/commit/6b283ace3565d931b3edff7e115d4f79339253b8Fixvia CVE List
- github.com/RIOT-OS/RIOT/commit/ee1fa0ef91874494823d476392572aeefdbc6b74Fixvia CVE List
- github.com/RIOT-OS/RIOT/releases/tag/2026.07Fixvia CVE List
- github.com/RIOT-OS/RIOT/security/advisories/GHSA-8365-gj33-rgpfAdvisoryvia CVE List