CVE-2025-66647
Unknown Unknown - Not Provided
Buffer Overflow in RIOT OS IPv6 Fragmentation Enables RCE

Publication date: 2025-12-17

Last updated on: 2025-12-17

Assigner: GitHub, Inc.

Description
RIOT is an open-source microcontroller operating system, designed to match the requirements of Internet of Things (IoT) devices and other embedded devices. A vulnerability was discovered in the IPv6 fragmentation reassembly implementation of RIOT OS v2025.07. When copying the contents of the first fragment (offset=0) into the reassembly buffer, no size check is performed. It is possible to force the creation of a small reassembly buffer by first sending a shorter fragment (also with offset=0). Overflowing the reassembly buffer corrupts the state of other packet buffers which an attacker might be able to used to achieve further memory corruption (potentially resulting in remote code execution). To trigger the vulnerability, the `gnrc_ipv6_ext_frag` module must be included and the attacker must be able to send arbitrary IPv6 packets to the victim. Version 2025.10 fixes the issue.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-12-17
Last Modified
2025-12-17
Generated
2026-05-07
AI Q&A
2025-12-17
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
riot_os riot_os 2025.07
riot_os riot_os 2025.10
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-120 The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability is a buffer overflow in the IPv6 fragmentation reassembly implementation of RIOT OS versions up to 2025.07. Specifically, when processing IPv6 fragmented packets with offset=0, the system allocates a reassembly buffer based on the first fragment's size without checking if it is large enough for subsequent fragments. If a larger fragment with the same ID and offset=0 is received, it is copied into the smaller buffer without bounds checking, causing a buffer overflow. This overflow corrupts adjacent memory, which can lead to denial of service or potentially remote code execution. The vulnerability requires the gnrc_ipv6_ext_frag module to be enabled and an attacker able to send arbitrary IPv6 packets. [1]


How can this vulnerability impact me? :

The vulnerability can lead to memory corruption in RIOT OS, which may cause the operating system to crash (denial of service) or, with careful exploitation, allow an attacker to execute arbitrary code remotely. This means an attacker could potentially take control of the affected device or disrupt its normal operation by sending specially crafted IPv6 fragmented packets. [1]


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by monitoring for suspicious IPv6 fragmented packets with offset=0 where multiple fragments share the same fragment ID but the second fragment is larger than the first. An exploit involves sending two IPv6 fragmented packets with the same fragment ID and offset=0, where the second packet is larger, causing a buffer overflow. Detection could involve capturing and analyzing IPv6 fragmented packets to identify such patterns. While no specific commands are provided, using packet capture tools like tcpdump or Wireshark to filter IPv6 fragmented packets and inspecting fragment offsets and sizes could help detect attempts to exploit this vulnerability. [1]


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation step is to upgrade RIOT OS to version 2025.10 or later, where the vulnerability is fixed by adding proper bounds checks before copying fragment payloads. Additionally, if possible, disable the `gnrc_ipv6_ext_frag` module to prevent processing of IPv6 fragmented packets until the update can be applied. Monitoring and filtering IPv6 fragmented packets from untrusted sources may also reduce exposure. [1]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart