Skip to main content

Zephyr RTOS CVE-2026-7656

MEDIUM
Always-Incorrect Control Flow Implementation (CWE-670)
2026-06-29 zephyr
6.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Reach victim's link or route ND packet to device
  2. Delivery
    Craft RA/NS/NA with ICMPv6 code 0
  3. Exploit
    Predicate skips RFC 4861 checks, packet accepted
  4. Execution
    Reconfigure default router/DNS or poison neighbor cache
  5. Impact
    MITM, redirection, or denial of service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Always-incorrect control flow
Exploitation Conditions

Exploitation requires the target to be a Zephyr device (≤ v4.4.0) running the IPv6 stack with Neighbor Discovery processing active, and the attacker must be able to deliver ICMPv6 ND packets to it - natively from an adjacent on-link position (AV:A), or potentially from off-link/remote since the bypassed Hop-Limit==255 guard normally blocks routed ND packets. The triggering condition is trivially met: the attacker simply sets the ICMPv6 code field to 0 (the standard, default value for every legitimate ND message), which forces the buggy predicate false and skips all validation - no special victim configuration, authentication (PR:N), or user interaction (UI:N) is needed. Forged-DNS impact additionally requires CONFIG_NET_IPV6_RA_RDNSS to be enabled on the victim; router/prefix/MTU/timer hijack and NS/NA neighbor-cache poisoning need no such option. Limiting factors: IPv4-only or IPv6-disabled builds are unaffected, and network-layer RA-Guard/ND-inspection or isolated trusted segments can prevent forged packets from reaching the device.

Impact

The CVSS 3.1 vector (AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H, base 8.1) reflects an unauthenticated, low-complexity attack from an adjacent (on-link) position with high integrity and availability impact and no confidentiality impact - consistent with neighbor-cache/router poisoning rather than direct data disclosure. The most important nuance is that the description explicitly states the bug bypasses the Hop-Limit==255 guard, meaning the AV:A scoping is conservative: off-link/remote attackers whose packets would normally be rejected may also succeed, so real-world reach could exceed the 'Adjacent' label - verify exposure assumptions accordingly. No EPSS score was supplied, the CVE is not KEV-listed, and no POC is referenced, so there is no public exploit identified at time of analysis; this is a credible, high-impact pre-auth network flaw but not currently evidenced as actively exploited. The 'Denial Of Service' tag understates impact - MITM and traffic redirection are also achievable. Practical priority is high for any internet- or untrusted-LAN-facing Zephyr IPv6 device, moderate for isolated/trusted segments.

Exploit ScenarioDerived

An attacker on the same link (or, because the Hop-Limit==255 check is bypassed, potentially a remote attacker whose packet reaches the device) sends a forged Router Advertisement with ICMPv6 code 0 advertising the attacker as the default router and supplying a malicious RDNSS DNS server. The Zephyr victim accepts it without validating source link-local address or hop limit, reroutes its traffic and DNS through the attacker, enabling man-in-the-middle interception, redirection, or denial of service. No POC is currently public, and the low attack complexity (AC:L) with no required privileges or user interaction makes crafting such packets straightforward with standard IPv6 tooling.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jun 29, 2026

Forged IPv6 Neighbor Discovery acceptance in the Zephyr RTOS network stack (all releases through v4.4.0) lets an adjacent on-link attacker inject spoofed Router Advertisement, Neighbor Solicitation, and Neighbor Advertisement messages because an operator-precedence bug in subsys/net/ip/ipv6_nbr.c silently skips every RFC 4861 sanity check whenever the (always-present) ICMPv6 code is 0. Because the bypassed checks include the Hop-Limit==255 on-link proof, even off-link/remote attackers may have forged ND packets accepted, enabling default-router/DNS/SLAAC hijacking and neighbor-cache poisoning for man-in-the-middle, redirection, and denial of service. A vendor patch exists (commit 095f064c) but there is no public exploit identified at time of analysis and the issue is not in CISA KEV.

RemediationAI

Apply the upstream fix that splits the broken condition so any single failing RFC 4861 check drops the packet: Vendor-released patch available as commit 095f064c94b95f9c35e05602e693dc268f0cb865 (https://github.com/zephyrproject-rtos/zephyr/commit/095f064c94b95f9c35e05602e693dc268f0cb865), per advisory GHSA-cpjw-rvwx-ph9f; rebuild and reflash device firmware from a Zephyr tree containing this commit (releases after v4.4.0). Because Zephyr ships as firmware, prioritize an OTA/firmware update campaign rather than a runtime config change. Where patching is delayed, compensating controls include placing affected IPv6 devices on isolated/trusted L2 segments and applying RA Guard / ND inspection (e.g., IPv6 RA-Guard, ND snooping) on managed switches to block forged RA/NS/NA at the network edge - trade-off: requires managed-switch support and can break legitimate routers if misconfigured. If IPv6 is not required for a deployment, disabling IPv6 (CONFIG_NET_IPV6) eliminates the attack surface but removes IPv6 connectivity; disabling CONFIG_NET_IPV6_RA_RDNSS removes only the forged-DNS vector and does not stop router/prefix or neighbor-cache poisoning, so it is a partial mitigation only.

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 affected technology is IPv6 Neighbor Discovery (ND, RFC 4861) over ICMPv6 as implemented in the Zephyr RTOS IP stack (cpe:2.3:a:zephyrproject:zephyr). ND uses RA messages for router/prefix/DNS autoconfiguration (SLAAC) and NS/NA for address resolution and neighbor reachability. RFC 4861 mandates several anti-spoofing validity checks - notably IPv6 Hop Limit == 255 (which guarantees the packet was not routed and therefore originated on-link), a link-local source for RAs, and multicast-target sanity checks. The root cause is CWE-670 (Always-Incorrect Control Flow Implementation): the validation predicate in handle_ra_input/handle_ns_input/handle_na_input was written as '((length/hop/source/target checks) && (icmp_hdr->code != 0))'. Since legitimate ND traffic always carries ICMPv6 code 0, the second operand is false, the AND short-circuits the entire predicate to false, and the drop branch is never taken - so all preceding checks are skipped. This is purely a logic/input-validation defect, not memory corruption: the parsing primitives (net_pkt_get_data, net_pkt_read, net_pkt_skip) remain bounds-safe and 'length' is the true buffer length, so skipping the length check does not cause out-of-bounds access.

Know when Zephyr 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 (zephyr) PRIMARY HIGH
NVD 6.8 MEDIUM
AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H
vuln.today AI 8.3 HIGH

Adjacent, no-auth, low-complexity ND injection yields high integrity/availability impact; C raised from N to L because router/DNS redirection enables MITM interception.

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

Primary rating from Vendor (zephyr).

CVSS VectorNVD

Attack Vector
Adjacent
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

2
Severity Changed
Jul 06, 2026 - 19:52 NVD
HIGH MEDIUM
CVSS changed
Jul 06, 2026 - 19:52 NVD
8.1 (HIGH) 6.8 (MEDIUM)

DescriptionNVD

The IPv6 Neighbor Discovery handlers in subsys/net/ip/ipv6_nbr.c (handle_ra_input, handle_ns_input, handle_na_input) used an incorrect boolean expression that combined the RFC 4861 validity checks with the ICMPv6 code check using the wrong operator precedence: the form was '((length/hop/source/target checks) && (icmp_hdr-code != 0))'. Because every legitimate ND message carries ICMPv6 code 0, an attacker setting code 0 (the normal value) caused the entire predicate to evaluate false, so the packet was never dropped and all of the other checks were silently skipped. The bypassed checks include the mandatory Hop Limit 255 verification (which proves an ND packet originated on-link and was not forwarded) and, for Router Advertisements, the requirement that the source be a link-local address, as well as multicast-target sanity checks. As a result, an adjacent on-link attacker - and, because the Hop-Limit-255 guard is bypassed, potentially a remote/off-link attacker whose packets would otherwise be rejected - can have forged Router Advertisement, Neighbor Solicitation, and Neighbor Advertisement messages accepted. A forged RA lets the attacker reconfigure the victim's default router, on-link prefixes (SLAAC), MTU, reachable/retransmit timers, and (with CONFIG_NET_IPV6_RA_RDNSS) DNS servers, while forged NS/NA enable neighbor-cache poisoning, enabling man-in-the-middle, traffic redirection, and denial of service. The flaw is an input-validation/authentication weakness rather than a memory-safety issue: the underlying packet-parsing primitives (net_pkt_get_data, net_pkt_read, net_pkt_skip) are independently bounds-safe and the validated 'length' is the true buffer length, so skipping the length check causes no out-of-bounds access. The defect has existed since the logic was introduced in 2018 and shipped in all releases through v4.4.0; it is fixed by splitting the condition so any failing check drops the packet.

Executive ViewAI

Why It Matters

Zephyr RTOS devices running versions through v4.4.0 contain a critical vulnerability in IPv6 packet validation that allows network-adjacent attackers to hijack network routing, DNS services, and IP address assignments. Organizations deploying Zephyr-based IoT and embedded systems are exposed to man-in-the-middle attacks and network redirection without active exploitation currently detected.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
popular embedded/IoT RTOS, broad but device-specialized deployment
Exploit
POC
Public exploit code exists
Social Media
5
Sightings
Data Quality
6 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
Poc
System Exposure· derived
Controlled
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

54
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

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

Affected Products (CPE)NVD

cpe:2.3:a:zephyrproject:zephyr:*:*:*:*:*:*:*:*

More in Zephyr

View all
CVE-2023-4260 CRITICAL POC
10.0 Sep 27

Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),

CVE-2026-1678 CRITICAL POC
9.8 Mar 05

An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on

CVE-2023-5055 CRITICAL POC
9.8 Nov 21

Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit

CVE-2023-4257 CRITICAL POC
9.8 Oct 13

Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS

CVE-2023-3725 CRITICAL POC
9.8 Oct 06

Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner

CVE-2021-3323 CRITICAL POC
9.8 Oct 12

Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2021-3625 CRITICAL POC
9.8 Oct 05

Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable

CVE-2021-3319 CRITICAL POC
9.8 Oct 05

DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul

CVE-2018-1000800 CRITICAL POC
9.8 Sep 06

zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(

CVE-2023-4264 CRITICAL POC
9.6 Sep 27

Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul

CVE-2024-1638 CRITICAL POC
9.1 Feb 19

The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte

CVE-2023-5753 HIGH POC
8.8 Oct 25

Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c

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