Description
RIOT is an open-source microcontroller operating system designed for Internet of Things devices and other embedded systems. In 2026.07 and earlier, the nanoCoAP client function nanocoap_sock_get_slice() in sys/net/application_layer/nanocoap/sock.c accepts a Block2 response when _block_cb() sees the expected block number without also verifying that the server-controlled szx and derived offset match the requested block geometry. A malicious CoAP server can return the expected block number with a larger block size, causing the derived offset to exceed the client slice offset and making ctx->offset - offset underflow in _2buf_slice(). The resulting buffer-relative calculation can read before the payload buffer and crash the client, causing denial of service and potentially exposing adjacent memory. No fixed release is available as of this review.
Published: 2026-10-09
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service and possible memory disclosure due to a buffer under‑read in RIOT nanoCoAP client
Action: Apply Patch
AI Analysis

Impact

RIOT is an open‑source microcontroller operating system. A flaw in the nanoCoAP client function nanocoap_sock_get_slice() allows a malicious CoAP server to send a Block2 response containing a larger block size than requested. Because the client does not verify that the server‑controlled szx and derived offset match the expected block geometry, a buffer‑relative calculation can under‑flow. This under‑flow causes the client to read memory before the payload buffer, leading to a crash. The crash results in a denial of service and, due to the under‑read, could potentially expose data located adjacent to the buffer. The weakness is identified by CWE-125 and CWE-191.

Affected Systems

The vulnerability affects all RIOT‑OS releases 2026.07 and earlier where the nanoCoAP client is compiled without the patch. Any IoT device or embedded system running these versions and communicating with a CoAP server that supports Block2 requests is potentially exposed. The specific component impacted is the function nanocoap_sock_get_slice() in sys/net/application_layer/nanocoap/sock.c.

Risk and Exploitability

The CVSS score of 7.1 indicates a high severity. The EPSS score is not available, and the issue has not been listed in the CISA KEV catalog yet, suggesting limited current exploitation activity. However, a malicious CoAP server can trivially manipulate the block size field, and the vulnerability does not require local privileges. Based on the description, it is inferred that the attacker only needs network access to the target’s CoAP client. The resulting denial of service could impact device availability, and the memory read could aid in information disclosure depending on the system’s memory layout.

Generated by OpenCVE AI on October 9, 2026 at 19:50 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the official RIOT‑OS patch as soon as a release is available that corrects the nanoCoAP block‑size validation in nanocoap_sock_get_slice().
  • If a patch cannot be deployed immediately, disable CoAP Block2 support on the client side or enforce a maximum block size on the network edge (e.g., via firewall, IDS, or SIP proxies) to prevent oversized block responses from reaching the client.
  • Continuously monitor the client for abnormal crash logs and isolate the device from critical networks to mitigate the impact of potential memory disclosure from the under‑read.

Generated by OpenCVE AI on October 9, 2026 at 19:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 09 Oct 2026 19:45:00 +0000

Type Values Removed Values Added
First Time appeared Riot-os
Riot-os riot
Vendors & Products Riot-os
Riot-os riot

Fri, 09 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 09 Oct 2026 18:00:00 +0000

Type Values Removed Values Added
Description RIOT is an open-source microcontroller operating system designed for Internet of Things devices and other embedded systems. In 2026.07 and earlier, the nanoCoAP client function nanocoap_sock_get_slice() in sys/net/application_layer/nanocoap/sock.c accepts a Block2 response when _block_cb() sees the expected block number without also verifying that the server-controlled szx and derived offset match the requested block geometry. A malicious CoAP server can return the expected block number with a larger block size, causing the derived offset to exceed the client slice offset and making ctx->offset - offset underflow in _2buf_slice(). The resulting buffer-relative calculation can read before the payload buffer and crash the client, causing denial of service and potentially exposing adjacent memory. No fixed release is available as of this review.
Title RIOT: nanoCoAP Block2 client slice handling underflows on inconsistent server-controlled block size
Weaknesses CWE-125
CWE-191
References
Metrics cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-09T18:00:37.637Z

Reserved: 2026-10-08T22:34:49.289Z

Link: CVE-2026-107836

cve-icon Vulnrichment

Updated: 2026-10-09T18:00:25.137Z

cve-icon NVD

Status : Deferred

Published: 2026-10-09T18:17:05.310

Modified: 2026-10-16T17:17:04.113

Link: CVE-2026-107836

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T20:00:17Z

Weaknesses
  • CWE-125

    Out-of-bounds Read

  • CWE-191

    Integer Underflow (Wrap or Wraparound)