Zephyr RTOS
CVE-2026-10645
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious ext2 disk image
-
DeliveryPhysically deliver media to target device
-
ExploitDevice mounts ext2 volume
-
ExecutionTrigger directory traversal operation
-
Persistext2_fetch_direntry uses unvalidated de_rec_len/de_name_len
-
ImpactOut-of-bounds read or infinite loop causes DoS
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection 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 Zephyr device has ext2 filesystem support compiled into the build and that the attacker can physically supply a removable storage medium (e.g., SD card, USB mass storage) formatted as a crafted ext2 image to the device. The vulnerability is not reachable at mount time - a directory traversal operation (pathname lookup, open, stat, unlink, rename, or readdir) on the mounted volume must subsequently occur, either triggered by the user or automatically by firmware logic. Limiting factors: AV:P confines exploitation to actors with physical access to the device and its media slot; UI:R requires that a mount and subsequent traversal take place; devices that never mount untrusted ext2 media are entirely unaffected; the vulnerability is absent if ext2 support is not enabled in the build configuration. |
| Impact | The CVSS 3.1 base score of 4.9 (Medium) with vector AV:P/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H accurately reflects the constrained real-world attack surface: physical media access is required (AV:P), and a user or system process must mount the crafted image and then perform directory traversal (UI:R). The physical vector substantially limits exploitability compared to network-reachable vulnerabilities. No EPSS data was provided in the available intelligence, and the vulnerability is absent from CISA KEV, indicating no confirmed active exploitation. The dual impact - out-of-bounds read (C:L) and potential high-severity availability loss via infinite loop or crash (A:H) - is credible for embedded targets where a DoS may be persistent until manual intervention. The out-of-bounds read could disclose adjacent heap or stack memory from the filesystem buffer, but exploitation for targeted information disclosure would require precise control of buffer layout. The primary realistic risk is denial of service against IoT or embedded devices that accept removable ext2-formatted storage from untrusted sources. No POC or exploit tooling has been identified, further tempering urgency. |
| Exploit ScenarioDerived | An attacker crafts a malicious ext2 disk image containing a directory block with a directory entry near the end of the block where de_name_len is set to a value that, combined with the entry's position, exceeds the block boundary, or sets de_rec_len to zero. The attacker physically delivers this media (e.g., an SD card or USB drive) to a Zephyr-based IoT device that auto-mounts removable storage. When the device firmware performs any directory traversal - such as a file open or a directory listing on the mounted volume - ext2_fetch_direntry copies beyond the block buffer boundary or enters an infinite loop, causing memory disclosure or a system hang. No public proof-of-concept has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 23, 2026
Out-of-bounds read and denial-of-service in Zephyr RTOS's ext2 filesystem parser expose embedded devices to filesystem-level attacks via maliciously crafted disk images. The flaw resides in ext2_fetch_direntry() (subsys/fs/ext2/ext2_diskops.c), where insufficient validation of on-disk directory entry fields - specifically de_rec_len and de_name_len against block boundaries - allows a crafted ext2 image to trigger an oversized memcpy (out-of-bounds read) or a zero-progress infinite loop when de_rec_len equals zero. All Zephyr versions are indicated as affected per the wildcard CPE, no public exploit code has been identified at time of analysis, and this CVE is not currently listed in CISA KEV.
RemediationAI
Consult the Zephyr project's GitHub Security Advisory (GHSA-hwrh-9h3x-vccm) for the authoritative patch version, as no specific fixed release version was included in the available intelligence data; the patch status is therefore 'upstream fix available per vendor advisory - patched release version not independently confirmed.' Developers and integrators should update to the latest Zephyr release and monitor the advisory for a confirmed fix tag. As a compensating control where an upgrade cannot be immediately applied, disable ext2 filesystem support in the Zephyr build configuration if untrusted removable media scenarios are present, accepting the trade-off of losing ext2-formatted storage interoperability. Additionally, restrict physical media attachment interfaces (e.g., SD card or USB mass storage) to trusted sources via hardware or policy controls, which eliminates the physical-vector attack path entirely. Where directory traversal operations over ext2-mounted volumes can be gated behind a privilege boundary, doing so limits the blast radius to processes with mount permissions.
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 vulnerability lives in Zephyr's implementation of the ext2 filesystem (subsys/fs/ext2/), a POSIX-compatible filesystem format originally from Linux that Zephyr has implemented for embedded/IoT storage targets (CPE: cpe:2.3:a:zephyrproject-rtos:zephyr:*:*:*:*:*:*:*:*). The root cause (CWE-125, Out-of-bounds Read) is the lack of structural integrity checks on directory entry fields before use. An ext2 directory block contains a linked list of variable-length entries, each described by a header carrying de_rec_len (record length, used to advance the traversal pointer) and de_name_len (filename length, used in the memcpy). The code validates only that de_name_len <= EXT2_MAX_FILE_NAME but does not enforce that de_rec_len is non-zero, that it is at least as large as the entry header, or that de_rec_len + current_offset does not exceed the block boundary. Callers find_dir_entry() and ext2_get_direntry() in ext2_impl.c then blindly advance traversal state using this unvalidated offset, allowing a crafted image to walk the traversal pointer out of the allocated directory block buffer or spin in an infinite loop. The vulnerability is not exercised at mount time - it requires an explicit directory traversal operation such as pathname lookup, open, stat, unlink, rename, or readdir.
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
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Physical media delivery required (AV:P); mount and traversal constitute user interaction (UI:R); OOB read yields low confidentiality, no integrity impact, but crash/infinite-loop yields high availability loss.
Primary rating from Vendor (zephyr).
CVSS VectorNVD
Lifecycle Timeline
1DescriptionNVD
Zephyr's ext2 directory-entry parser does not fully validate on-disk directory entry structure before copying the entry name and advancing traversal state. In ext2_fetch_direntry() (subsys/fs/ext2/ext2_diskops.c), the code only checks de_name_len <= EXT2_MAX_FILE_NAME and then copies the name with memcpy without validating the structural relationship between de_rec_len, de_name_len, and the directory block boundary (for example that de_rec_len is non-zero, at least the size of the entry header, and that the record fits within the block). Callers such as find_dir_entry() and ext2_get_direntry() (subsys/fs/ext2/ext2_impl.c) then advance traversal using the unvalidated de_rec_len. A crafted ext2 image can therefore cause an out-of-bounds read from the directory block buffer when a malformed entry near the end of a block triggers an oversized name copy, or a zero-progress infinite loop when de_rec_len == 0. The issue is not reached at mount time but later through directory traversal paths such as pathname lookup, stat/open/unlink/rename, and readdir. The primary impact is denial of service and out-of-bounds reads under attacker-controlled ext2 images mounted from untrusted media.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Affected Products (CPE)NVD
Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),
An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on
Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit
Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS
Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner
Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability
Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable
DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul
zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(
Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul
The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte
Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB