Skip to main content

Zephyr RTOS EUVDEUVD-2026-46447

| CVE-2026-10678 HIGH
NULL Pointer Dereference (CWE-476)
2026-07-21 zephyr
8.1
CVSS 3.1 · Vendor: zephyr
View

Attack ChainAIDerived

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

  1. Access
    Gain bus-master role on shared I2C bus
  2. Delivery
    Select MCTP data register before length register
  3. Exploit
    Write byte through NULL rx_pkt pointer (or exceed 255 bytes)
  4. Execution
    Corrupt memory / trigger hard fault
  5. Impact
    Denial of service or integrity compromise on target

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 target device is built with and running the Zephyr MCTP-over-I2C+GPIO target binding (subsys/pmci/mctp/mctp_i2c_gpio_target.c) and that the attacker is a device acting as the I2C bus master on the same physical I2C bus as that target. No authentication and no prior MCTP protocol state are needed (the binding authenticates nothing): the NULL-deref path is triggered simply by writing the MCTP_I2C_GPIO_RX_MSG_ADDR (data) register before ever writing the length register, and the one-byte overflow is triggered by sending more than 255 data bytes. Limiting factors: it is not network-reachable (I2C-bus adjacency only, AV:A), it only affects builds that enable this specific PMCI binding, and it is confined to Zephyr v4.3.0 and v4.4.0; there is no confidentiality impact, and the practical prerequisite of controlling a device on the bus meaningfully constrains the attacker population versus the raw 8.1 score.

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) is internally consistent with the description: exploitation requires adjacency on the shared I2C bus (AV:A), needs no authentication (PR:N) because the binding performs no authentication of the bus master, and needs no user interaction, while impact is high to integrity (attacker-chosen memory writes) and availability (hard fault/DoS) with no confidentiality loss (C:N). Realistic risk is bounded primarily by the adjacency requirement - an attacker must control or compromise a device on the same physical I2C bus, so this is not remotely reachable over a network and the exposure population is limited to boards that enable this specific PMCI/MCTP-over-I2C+GPIO target binding. There is no EPSS score, no KEV listing, and no POC in the provided data, so there are no signals of active or automatable exploitation; the value here is driven by the deterministic, no-precondition trigger for a malicious or even merely malfunctioning bus controller rather than by evidence of in-the-wild use. Net assessment: a genuine high-severity local/hardware-fabric issue for the subset of devices that ship the affected binding, but not an internet-facing mass-exploitation priority.

Exploit ScenarioDerived

An attacker who controls or has compromised a device acting as I2C bus master on the same bus as a vulnerable Zephyr target selects the MCTP data pseudo-register and writes a single byte without first writing the length register, causing the target to store an attacker-chosen byte through a NULL rx_pkt pointer and crash or corrupt memory. Alternatively the master sends more than 255 data bytes to trigger the one-byte heap overflow at data[255]. No POC is published in the provided data, and no authentication or prior protocol state is required, so a malfunctioning peripheral could trigger the same fault accidentally.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 21, 2026

Memory corruption in Zephyr RTOS v4.3.0 and v4.4.0 lets any device acting as the I2C bus master corrupt an adjacent target device through the unauthenticated MCTP-over-I2C+GPIO target binding. By selecting the data pseudo-register and writing a byte before sending the length register, an attacker triggers a write through an unallocated (NULL) mctp_pktbuf pointer, and a separate write-then-check bug permits a one-byte heap overflow past data[255]; both yield memory corruption or a hard fault. No public exploit identified at time of analysis, and it is not on CISA KEV, but a vendor patch and security advisory are available.

RemediationAI

Apply the upstream fix from commit 9e23364261a2188c171d734d6947e02ee2a9510f (https://github.com/zephyrproject-rtos/zephyr/commit/9e23364261a2188c171d734d6947e02ee2a9510f), which defers packet-buffer allocation to the first data byte behind a NULL check, treats a missing length register as a zero-sized packet rejected by libmctp, and moves the bounds check before the store; track the Zephyr advisory GHSA-pmwm-5rcm-39rr for the tagged patched release, since patch data indicates a vendor fix is available but a released patched version tag is not independently confirmed in the provided data. Because the fix currently references a commit rather than a confirmed tagged release, rebuild affected firmware from a Zephyr tree that includes this commit rather than assuming a specific version number. Where firmware cannot be updated immediately, compensating controls should focus on the I2C fabric: ensure only trusted, vetted devices share the bus with the vulnerable target (physically or by bus topology), and if the MCTP-over-I2C+GPIO target functionality is not required, disable/exclude that binding from the build to remove the attack surface entirely - the trade-off is loss of MCTP management transport on that bus. There is no purely software workaround on the target side short of the code fix, since the flaw is triggered by raw bytes from the bus master.

Affected VersionsENISA

Zephyr 4.3.0 <4.5.0

Affected Packages

euvd zephyr fix: 4.5.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

The affected component is Zephyr's Platform Management Component Intelligence (PMCI) stack, specifically the MCTP (Management Component Transport Protocol) transport binding that carries MCTP packets over I2C using a GPIO signal, implemented in subsys/pmci/mctp/mctp_i2c_gpio_target.c. The target exposes pseudo-registers (a length register that calls mctp_pktbuf_alloc() to allocate a receive buffer, and a data register that stores incoming bytes) and processes bus-master writes byte-by-byte in mctp_i2c_gpio_target_write_received(). The root cause maps to CWE-476 (NULL Pointer Dereference): the data handler dereferences b->rx_pkt and writes b->rx_pkt->data[b->rx_idx] without confirming the buffer was ever allocated, so if the length register is never written, rx_pkt is NULL and the store lands at a small, attacker-advanceable offset above address 0. A second defect is an out-of-bounds write (write-then-check ordering) that overflows data[255] by one byte. The commit adds an rx_exp_len field, defers allocation to the first data byte with a NULL check, treats a missing length as a zero-sized packet that libmctp rejects, and moves the bounds check before the store.

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 8.1 HIGH
AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
vuln.today AI 8.1 HIGH

I2C-bus adjacency gives AV:A; no auth or prior state gives PR:N/AC:L; attacker-chosen writes and hard faults give I:H/A:H with no data disclosure (C:N).

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

Primary rating from Vendor (zephyr).

CVSS VectorVendor: zephyr

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

DescriptionCVE.org

The MCTP-over-I2C+GPIO target binding in Zephyr (subsys/pmci/mctp/mctp_i2c_gpio_target.c) processes pseudo-register writes from an I2C bus master byte-by-byte in mctp_i2c_gpio_target_write_received() without validating the order or the receive buffer. In the affected versions the MCTP_I2C_GPIO_RX_MSG_ADDR (data) handler dereferences and writes through b->rx_pkt without checking that the receive buffer was allocated: a controller that selects the data register and writes a byte without first sending the length register (which is what allocates the buffer) causes a write of an attacker-chosen byte through a NULL/unallocated mctp_pktbuf pointer (i.e. into a small attacker-advanceable offset above address 0), producing memory corruption or a hard fault.

The same handler also performs a write-then-check bounds test, allowing a one-byte heap overflow at data[255] when more than 255 data bytes are sent.

Because the I2C target callback is invoked with raw bytes supplied by whatever device is the bus master and the binding performs no authentication, a malicious or malfunctioning controller on the bus can trigger these without any prior protocol state, leading to memory corruption and/or denial of service on the target device.

The vulnerable code was introduced when the I2C+GPIO target binding was added and shipped in Zephyr v4.3.0 and v4.4.0. The fix defers allocation to the first data byte with a NULL check, treats a missing length as a zero-sized packet rejected by libmctp, and moves the bounds check before the store.

Executive ViewAI

Why It Matters

Zephyr RTOS versions 4.3.0 and 4.4.0 contain a memory corruption vulnerability affecting I2C bus master communications that could compromise adjacent target devices. Organizations deploying these embedded OS versions in IoT, industrial control, or connected devices face potential device failure, data corruption, or unexpected behavior. This vulnerability requires patching before these Zephyr versions are deployed in network-connected or sensitive operational environments.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Medium
Zephyr is a popular embedded RTOS, but the MCTP-over-I2C+GPIO binding is niche
Data Quality
5 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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
None
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

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.

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