Skip to main content

RIOT OS CVE-2025-66646

LOW
NULL Pointer Dereference (CWE-476)
2025-12-17 security-advisories@github.com
1.7
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach victim over IPv6 network
  2. Exploit
    Send fragment offset 0 with empty payload
  3. Execution
    NULL payload pointer dereferenced in reassembly
  4. Impact
    OS crashes (denial of service)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the optional 'gnrc_ipv6_ext_frag' module (GNRC IPv6 extension-header fragmentation/reassembly) be compiled in and enabled on the target - devices without this module are not affected, which is the primary limiting factor. The attacker must also be able to send arbitrary IPv6 packets to the victim (IPv6 network reachability/adjacency). The specific trigger is a crafted IPv6 fragment with fragment offset 0 and an empty payload, which leaves the payload pointer NULL while the reassembly copy still executes. No authentication or user interaction is required (PR:N/UI:N), but the dependency on the non-universal fragmentation module meaningfully narrows the exposed population.

Impact

All signals converge on this being a LOW real-world priority. The vendor CVSS 4.0 score is 1.7 (Low), reflecting availability-only impact (VA:L, with VC:N/VI:N) and an attack requirement present (AT:P). This is a CWE-476 NULL pointer dereference that produces only a denial of service - there is no confidentiality or integrity impact and no path to code execution. EPSS is 0.68% (51st percentile), which is unremarkable and consistent with a low-severity DoS. Public exploit code exists (GitHub Security Advisory GHSA-v8gx-q9m6-5xm9 plus a reproducer archive), which raises ease-of-reproduction, but POC availability is NOT active exploitation: the CVE is NOT listed in CISA KEV, so there is no evidence of in-the-wild use. One signal to flag explicitly: the vendor rated availability as VA:L, yet the description states the flaw 'crashes the OS,' which for a single-purpose embedded device is arguably a complete availability loss (A:H) - my independent assessment rates it higher than the vendor on availability (see assessed vectors). Net: a cleanly patched, exploit-public but low-impact DoS gated behind an optional module; routine patch to 2025.10 rather than emergency response.

Exploit ScenarioDerived

An attacker with IPv6 reachability to a RIOT OS device that has the gnrc_ipv6_ext_frag module enabled sends a single crafted IPv6 fragment with fragment offset 0 and an empty payload. The reassembly code sets the payload pointer to NULL but still attempts to copy the payload, dereferencing NULL and crashing the device (DoS). Public exploit/reproducer code is available via the GitHub Security Advisory, making reproduction trivial, though impact is limited to a crash with no code execution.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 13, 2026

Denial of service in RIOT OS 2025.07 allows an unauthenticated, remote IPv6 sender to crash the operating system by transmitting a fragmented IPv6 packet whose first fragment has offset 0 and an empty payload. The malformed fragment leaves the payload pointer NULL while the reassembly code still attempts to copy that NULL payload into the reassembly buffer, producing a NULL pointer dereference (CWE-476) that faults the kernel and reboots/halts the device. Publicly available exploit code exists (a vendor-published reproducer archive accompanies the GitHub security advisory), though there is no confirmed active exploitation (not in CISA KEV) and EPSS is low at 0.68% (51st percentile); exploitation additionally requires that the optional gnrc_ipv6_ext_frag module be compiled in, which substantially narrows the exposed population. RIOT OS 2025.10 is the vendor-released fix.

RemediationAI

Upgrade to RIOT OS 2025.10, which contains the fix (vendor-released patch: 2025.10); see the advisory at https://github.com/RIOT-OS/RIOT/security/advisories/GHSA-v8gx-q9m6-5xm9 and the release at https://github.com/RIOT-OS/RIOT/releases/tag/2025.10. If upgrading is not immediately possible, the most direct compensating control is to drop the gnrc_ipv6_ext_frag module from the build (remove it from USEMODULE/application Makefile), which removes the vulnerable code path entirely - the trade-off is that the device can no longer reassemble fragmented IPv6 datagrams, breaking any traffic that relies on IPv6 fragmentation (e.g. large UDP/DNS responses or tunnels over links with small MTUs). As a network-level alternative, filter IPv6 Fragment extension headers at the border or only permit IPv6 traffic from trusted/adjacent peers, accepting that this may block legitimate fragmented traffic and is easily bypassed by an already-adjacent attacker. Because exploitation only requires IPv6 reachability (no authentication or user interaction, PR:N/UI:N), keep IPv6-exposed RIOT nodes off untrusted segments until patched; as a longer-term hardening measure, ensure the platform has a watchdog so the fault-induced crash results in automatic recovery rather than a permanently dead node.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw lives in RIOT's GNRC (Generic Network Stack) IPv6 extension-header fragmentation/reassembly path, specifically sys/net/gnrc/network_layer/ipv6/ext/frag/gnrc_ipv6_ext_frag.c (referenced lines 411, 420, 490, 532, 534, 544) and the packet buffer implementation in gnrc/pktbuf_static/gnrc_pktbuf_static.c. IPv6 fragmentation (RFC 8200) splits datagrams into fragments carried in a Fragment extension header; the receiver buffers them by offset and reassembles. When a fragment arrives with fragment offset 0 but zero-length payload, the code sets the payload pointer to NULL and then proceeds to copy that payload into the reassembly buffer without a NULL guard - a classic CWE-476 NULL pointer dereference. On a bare-metal microcontroller OS with no memory-protection boundary this faults the whole system rather than just the network task, producing a full device DoS. The vulnerable code is only compiled when the optional gnrc_ipv6_ext_frag module is enabled, so products built without IPv6 reassembly are unaffected; the CPE data (cpe:2.3:o:riot-os:riot:* plus 2025.10 rc1/rc2/rc3) reflects the upstream project rather than a single hardware target, since RIOT is a portable RTOS.

Know when Riot gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 1.7 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U
vuln.today AI 7.5 HIGH

Remote unauthenticated crafted IPv6 fragment triggers deterministically (AV:N/AC:L/PR:N/UI:N); a full OS crash is complete availability loss (A:H) with no confidentiality or integrity impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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 receiving an fragmented IPv6 packet with fragment offset 0 and an empty payload, the payload pointer is set to NULL. However, the implementation still tries to copy the payload into the reassembly buffer, resulting in a NULL pointer dereference which crashes the OS (DoS). To trigger the vulnerability, the gnrc_ipv6_ext_frag module must be enabled and the attacker must be able to send arbitrary IPv6 packets to the victim. RIOT OS v2025.10 fixes the issue.

Threat Intelligence Overview

EPSS Score
0.7%
Top 49% exploitable
Prevalence
Low
niche open-source IoT microcontroller OS, limited production footprint
Exploit
POC
Public exploit code exists
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.7%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Low

Priority Score

29
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +8
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Affected Products (CPE)CVE.org

cpe:2.3:o:riot-os:riot:*:*:*:*:*:*:*:*
cpe:2.3:o:riot-os:riot:2025.10:rc1:*:*:*:*:*:*
cpe:2.3:o:riot-os:riot:2025.10:rc2:*:*:*:*:*:*
cpe:2.3:o:riot-os:riot:2025.10:rc3:*:*:*:*:*:*

More in Riot

View all
CVE-2023-33975 CRITICAL POC
9.8 May 30

RIOT-OS, an operating system for Internet of Things (IoT) devices, contains a network stack with the ability to process

CVE-2019-1000006 CRITICAL POC
9.8 Feb 04

RIOT RIOT-OS version after commit 7af03ab624db0412c727eed9ab7630a5282e2fd3 contains a Buffer Overflow vulnerability in s

CVE-2026-25139 CRITICAL POC
9.1 Feb 04

RIOT IoT operating system has an out-of-bounds read vulnerability (CVSS 9.1) that could lead to information disclosure o

CVE-2024-32018 CRITICAL POC
9.0 May 01

RIOT is a real-time multi-threading operating system that supports a range of devices that are typically 8-bit, 16-bit a

CVE-2024-32017 CRITICAL POC
9.0 May 01

RIOT is a real-time multi-threading operating system that supports a range of devices that are typically 8-bit, 16-bit a

CVE-2024-31225 CRITICAL POC
9.0 May 01

RIOT is a real-time multi-threading operating system that supports a range of devices that are typically 8-bit, 16-bit a

CVE-2024-52802 HIGH POC
7.5 Nov 22

RIOT is an operating system for internet of things (IoT) devices. Rated high severity (CVSS 7.5), this vulnerability is

CVE-2023-24818 HIGH POC
7.5 Apr 24

RIOT-OS, an operating system that supports Internet of Things devices, contains a network stack with the ability to proc

CVE-2019-16754 HIGH POC
7.5 Sep 24

RIOT 2019.07 contains a NULL pointer dereference in the MQTT-SN implementation (asymcute), potentially allowing an attac

CVE-2019-15702 HIGH POC
7.5 Aug 27

In the TCP implementation (gnrc_tcp) in RIOT through 2019.07, the parser for TCP options does not terminate on all input

CVE-2019-15134 HIGH POC
7.5 Aug 17

RIOT through 2019.07 contains a memory leak in the TCP implementation (gnrc_tcp), allowing an attacker to consume all me

CVE-2024-53980 MEDIUM POC
6.9 Nov 29

RIOT is an open-source microcontroller operating system, designed to match the requirements of Internet of Things (IoT)

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy