Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify reachable Zephyr HTTP server
-
DeliveryCraft oversized Sec-WebSocket-Key header
-
ExploitSend HTTP WebSocket upgrade request
-
InstallTrigger non-NUL-terminated header copy
-
C2strlen overruns stack buffer
-
ExecuteOut-of-bounds write during magic-string concatenation
-
ImpactCrash device or execute arbitrary code
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Null terminator handling
|
| Exploitation Conditions | Exploitation requires that the target Zephyr image was built with CONFIG_HTTP_SERVER_WEBSOCKET enabled and that the HTTP server is bound to a network interface reachable by the attacker. No authentication, no user interaction, and no prior foothold are required, matching CVSS PR:N/UI:N. The attacker must be able to send a single TCP/HTTP request to the listening port and must craft the Sec-WebSocket-Key header to be exactly the size of the parser's fixed-size buffer so that the bounded copy omits the trailing NUL - sending a short, RFC-compliant key will not trigger the bug. Reliable code execution (as opposed to just crash/DoS) additionally depends on the target board lacking stack canaries and having a predictable stack layout, which is common but not universal on Zephyr targets. |
| Impact | All signals converge toward high priority: CVSS 9.8 with AV:N/AC:L/PR:N/UI:N indicates trivially reachable network exploitation without authentication or user interaction, and full C/I/A impact. CWE-170 leading to stack-based OOB write is a classic memory corruption primitive with realistic code execution potential on embedded targets that typically lack stack canaries, ASLR, or W^X protections, raising the practical RCE likelihood above what it would be on a hardened OS. EPSS and CISA KEV data were not provided in the input, so no public exploit identified at time of analysis and no confirmation of active exploitation; however, given the simplicity of the trigger (a single oversized Sec-WebSocket-Key header) public PoCs are likely to appear quickly. The mitigating factor is exposure scope: only devices that both enable CONFIG_HTTP_SERVER_WEBSOCKET and expose the HTTP server on a reachable network are at risk, which on IoT/OT fleets can still be substantial. |
| Exploit ScenarioDerived | An attacker on the same network as an exposed Zephyr-based IoT device (for example, a smart sensor, industrial gateway, or medical device) sends a single HTTP GET request to the device's HTTP server with an Upgrade: websocket header and an oversized Sec-WebSocket-Key value that exactly fills the parser's fixed buffer with no embedded NUL. The malformed header triggers an out-of-bounds read followed by an out-of-bounds write during the magic-string concatenation, immediately crashing the device or, with careful payload crafting on a target without stack protections, redirecting execution to attacker-controlled shellcode. No public exploit identified at time of analysis, but the trigger is simple enough to develop with curl and a known firmware image. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 09, 2026
Remote code execution and denial of service in Zephyr RTOS HTTP server (versions 3.7.0 through 4.3.0) allow unauthenticated network attackers to corrupt stack memory by sending a crafted Sec-WebSocket-Key header during WebSocket upgrade. The flaw is a CWE-170 improper NUL-termination issue where a bounded copy fails to terminate the header buffer, causing strlen() and subsequent concatenation to read and write past stack bounds. No public exploit identified at time of analysis, but the CVSS 9.8 rating and trivially reachable attack surface make this a high-priority issue for any Zephyr deployment with CONFIG_HTTP_SERVER_WEBSOCKET enabled.
RemediationAI
Upgrade Zephyr to a release containing the fix referenced in advisory GHSA-wgr4-9pwq-94vj (https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-wgr4-9pwq-94vj); the input data does not name an exact fix version, so consult the advisory for the patched tag and rebuild and reflash device firmware accordingly - patch available per vendor advisory. As a compensating control until firmware can be updated, disable CONFIG_HTTP_SERVER_WEBSOCKET in the build configuration and rebuild, which removes the vulnerable code path entirely at the cost of losing WebSocket support for any application features that depend on it. If disabling WebSocket support is not feasible, restrict network reachability of the HTTP server by binding it to a management VLAN or placing the device behind a reverse proxy that enforces a strict maximum length on the Sec-WebSocket-Key header (RFC 6455 specifies a base64-encoded 16-byte nonce, so 24 characters plus CRLF is the legitimate maximum) - note that this only mitigates external exploitation and does not protect against attackers on the same network segment.
Affected VersionsENISA
Affected Packages
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
Zephyr is a widely adopted real-time operating system (RTOS) used in resource-constrained embedded and IoT devices, maintained by the Linux Foundation's Zephyr Project. The vulnerable component is the built-in HTTP/1 server's WebSocket upgrade handler, gated by the CONFIG_HTTP_SERVER_WEBSOCKET Kconfig option. The root cause maps to CWE-170 (Improper Null Termination): the header parser uses a bounded copy primitive (likely strncpy-style) that, when the input fully fills the fixed-size destination buffer, omits the trailing NUL. Downstream code then copies that non-terminated buffer to a stack-local buffer and calls strlen() on it, walking past the buffer until it finds a stray zero byte. The subsequent concatenation with the RFC 6455 WebSocket magic GUID ('258EAFA5-E914-47DA-95CA-C5AB0DC85B11') then writes out-of-bounds on the stack, creating both an OOB read and OOB write primitive against return addresses and saved frame data.
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:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from Vendor (zephyrproject) · only source for this CVE.
CVSS VectorVendor: zephyrproject
DescriptionCVE.org
A remote, unauthenticated attacker can trigger memory corruption in Zephyr's HTTP server WebSocket upgrade path by sending a crafted Sec-WebSocket-Key header. The HTTP/1 header parser copies the header into a fixed-size buffer using a bounded copy that does not guarantee NUL termination when the input length reaches the buffer size. During upgrade handling the buffer is copied to a local stack buffer and passed to strlen(); if no NUL exists in-bounds, strlen() reads beyond the stack buffer and subsequent concatenation with the WebSocket magic string can write out of bounds. This leads to out-of-bounds read and write on stack memory, resulting in crash (denial of service) and potentially code execution. The path is reachable when CONFIG_HTTP_SERVER_WEBSOCKET is enabled.
Executive ViewAI
Zephyr RTOS HTTP server (versions 3.7.0-4.3.0) contains a critical remote code execution vulnerability accessible to unauthenticated attackers via malformed WebSocket upgrade requests, with no vendor patch currently available. Organizations using Zephyr for embedded IoT or edge systems with WebSocket functionality face immediate risk of system compromise or service disruption. The trivially reachable attack surface and absence of a fix make this a priority for rapid vulnerability management.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable CONFIG_HTTP_SERVER_WEBSOCKET in build configuration if WebSocket functionality is not required; (2) Restrict network access to Zephyr HTTP servers using firewalls or network segmentation; (3) Deploy reverse proxy or WAF with rules to reject HTTP upgrade requests with malformed or oversized Sec-WebSocket-Key headers; (4) Monitor for suspicious WebSocket upgrade attempts in application logs. Monitor vendor advisory channels and upgrade immediately upon patch release.
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.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Related Vulnerabilities in Zephyr RTOS Memory Corruption Vulnerabilities
View all 2Potential 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
EUVD-2026-35348
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB