CyberSecBulletin

Zephyr Project vulnerabilities

We track 80 vulnerabilities in Zephyr Project products. 80 are rated high or critical, and none are known to be exploited. The most recent was published on November 12, 2026.

80vulnerabilities
4critical
76high
0exploited
7.9average CVSS score

Latest Zephyr Project vulnerabilities

  • 7.8 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-17052Zephyr Project

    The Time-aware GPIO syscall verification handler z_vrfy_tgpio_pin_read_ts_ec() in drivers/timeaware_gpio/timeaware_gpio_handlers.c validated only the port device object and passed the caller-supplied timestamp and event_count output pointers to the driver with

  • 7.5 High severity

    zephyr: NULL Pointer Dereference

    CVE-2026-15891Zephyr Project

    The MQTT-SN client keepalive handler process_ping() in subsys/net/lib/mqtt_sn/mqtt_sn.c removes the gateway record after PINGREQ retries are exhausted. It invoked SYS_SLIST_PEEK_HEAD_CONTAINER(&client->gateways, gw, next) but discarded the result. That macro i

  • 9.8 Critical severity

    zephyr: Out-of-bounds Write

    CVE-2026-13214Zephyr Project

    The OCPP 1.6 client in subsys/net/lib/ocpp/ocpp_j.c contains a stack buffer overflow in parse_getconfig_msg(). When handling a GetConfiguration request from the central system, the handler copied the attacker-controlled JSON "key" string into the caller's fixe

  • 8.8 High severity

    zephyr: Improper Validation of Array Index

    CVE-2026-13212Zephyr Project

    The Zephyr virtio driver does not validate the descriptor-chain head id that the virtio device writes into the used ring. In virtio_isr() (drivers/virtio/virtio_common.c), the device-written vq->used->ring[idx].id is used directly as an index into vq->recv_cbs

  • 8.1 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-12633Zephyr Project

    The IPv6 neighbor-discovery code in subsys/net/ip/ipv6_nbr.c processes the 6LoWPAN Context Option (6CO, RFC 6775) carried inside ICMPv6 Router Advertisements. In handle_ra_6co() the 8-bit context_len field is taken directly from the packet and was never bounde

  • 8.8 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-12522Zephyr Project

    The HL7800 cellular modem driver's +CGCONTRDP: response handler on_cmd_atcmdinfo_ipaddr() in drivers/modem/vendor_standalone/hl7800.c parses the PDP-context dynamic parameters (local address, subnet mask, gateway, and DNS servers) that the cellular network ass

  • 8.8 High severity

    zephyr: Untrusted Pointer Dereference

    CVE-2026-9771Zephyr Project

    The flash_copy() system call is verified by z_vrfy_flash_copy() in drivers/flash/flash_util.c. On builds with CONFIG_USERSPACE enabled, this handler is the kernel-side trust boundary for a user-mode caller. Prior to the fix it validated only the output buffer

  • 8.8 High severity

    zephyr: Use After Free

    CVE-2026-12366Zephyr Project

    Zephyr's dynamic kernel-object disposal path unref_check() in kernel/userspace/userspace.c frees an object's storage (k_free(dyn->data)) once its reference count reaches zero, after running a per-object-type cleanup. The cleanup switch handled only K_OBJ_MSGQ

  • 8.4 High severity

    zephyr: Untrusted Pointer Dereference

    CVE-2026-12364Zephyr Project

    The user-space system-call verifier z_vrfy_z_log_msg_static_create() in subsys/logging/log_msg.c was a pure pass-through: it forwarded the caller-supplied source, desc, package, and data arguments directly to the kernel-mode implementation z_impl_z_log_msg_sta

  • 7.8 High severity

    zephyr: Time-of-check Time-of-use (TOCTOU) Race Condition

    CVE-2026-12234Zephyr Project

    The userspace syscall verifiers z_vrfy_zsock_sendmsg() and z_vrfy_zsock_recvmsg() in subsys/net/lib/sockets/sockets.c snapshot the caller-supplied struct net_msghdr into a kernel-side copy with k_usermode_from_copy(), but then re-read the still-live user struc

  • 8.4 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-8718Zephyr Project

    tls_opt_dtls_peer_connection_id_value_get() in subsys/net/lib/sockets/sockets_tls.c, which handles getsockopt(SOL_TLS, TLS_DTLS_PEER_CID_VALUE), passed the caller-supplied optval directly to mbedtls_ssl_get_peer_cid() without verifying the buffer was at least

  • 7.5 High severity

    zephyr: NULL Pointer Dereference

    CVE-2026-11810Zephyr Project

    The UpdateHub firmware-update agent's probe handler (z_impl_updatehub_probe() in subsys/mgmt/updatehub/updatehub.c) parses the JSON metadata returned by the update server into a fixed two-level nested-array struct. After parsing it validates only the outer arr

  • 7.5 High severity

    zephyr: Heap-based Buffer Overflow

    CVE-2026-10849Zephyr Project

    The hawkBit device management client in subsys/mgmt/hawkbit accumulates the body of an HTTP response from the update server into a heap buffer in response_json_cb() (subsys/mgmt/hawkbit/hawkbit.c). The buffer is sized to hold the received body bytes but reserv

  • 8.6 High severity

    zephyr: Out-of-bounds Read

    CVE-2026-10848Zephyr Project

    The OCPP 1.6 client in subsys/net/lib/ocpp parsed inbound WAMP RPC frames in parse_rpc_msg() (subsys/net/lib/ocpp/ocpp_j.c) using a hand-rolled helper, extract_string_field(), that copied the message's uid and action fields with strncpy(out_buf, token + 1, out

  • 7.5 High severity

    zephyr: Loop with Unreachable Exit Condition

    CVE-2026-10686Zephyr Project

    Zephyr's IPv6 forwarding path re-sent routed unicast packets without ever decrementing the IPv6 hop limit. Both routing branches of ipv6_route_packet() (subsys/net/ip) were affected: the explicit-route path (net_route_packet()) and the on-link cross-interface

  • 7.6 High severity

    zephyr: Use After Free

    CVE-2026-10685Zephyr Project

    The Zephyr Bluetooth GATT client CCC-write response handler gatt_write_ccc_rsp() in subsys/bluetooth/host/gatt.c invoked the application's params->subscribe() callback after it had already called params->notify(conn, params, NULL, 0). Per the public GATT API,

  • 7.8 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-10682Zephyr Project

    The userspace verifier z_vrfy_log_filter_set() for the log_filter_set syscall in subsys/logging/log_mgmt.c performed a signed comparison against the int16_t src_id parameter: src_id < (int16_t)log_src_cnt_get(domain_id). Any negative value for src_id (e.g. -1)

  • 7.0 High severity

    zephyr: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2026-10681Zephyr Project

    In Zephyr's userspace dynamic-objects subsystem, thread_idx_alloc() in kernel/userspace/userspace.c allocated a new thread permission index from the global _thread_idx_map[] bitmap without holding lists_lock. On SMP systems, two user-mode threads invoking the

  • 7.6 High severity

    zephyr: Out-of-bounds Read

    CVE-2026-10680Zephyr Project

    The Classic (BR/EDR) L2CAP signaling handlers l2cap_br_conf_req() and l2cap_br_conf_rsp() in subsys/bluetooth/host/classic/l2cap_br.c validated the minimum command size against buf->len (the bytes remaining in the whole received PDU) instead of len (the per-co

  • 8.1 High severity

    zephyr: NULL Pointer Dereference

    CVE-2026-10678Zephyr Project

    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 a

  • 8.8 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-10673Zephyr Project

    The Zephyr ADIN2111/ADIN1110 10BASE-T1S/T1L Ethernet driver (drivers/ethernet/eth_adin2111.c) reassembles received Ethernet frames in OPEN Alliance (OA) SPI mode by copying device-supplied 64-byte data chunks into a fixed static buffer ctx->buf of size CONFIG_

  • 9.1 Critical severity

    zephyr: Out-of-bounds Read

    CVE-2026-10672Zephyr Project

    subsys/net/lib/lwm2m/lwm2m_pull_context.c copied the firmware-update Package URI into a fixed static buffer (context.uri, size CONFIG_LWM2M_SWMGMT_PACKAGE_URI_LEN, default 128) with memcpy(context.uri, uri, LWM2M_PACKAGE_URI_LEN), copying exactly the destinati

  • 7.1 High severity

    zephyr: Initialization of a Resource with an Insecure Default

    CVE-2026-10671Zephyr Project

    In Zephyr's kernel pipe implementation, the userspace syscall verifier z_vrfy_k_pipe_init() in kernel/pipe.c used K_SYSCALL_OBJ() (which requires the kernel object to already be initialized) instead of K_SYSCALL_OBJ_NEVER_INIT() (which rejects an already-initi

  • 7.8 High severity

    zephyr: Integer Overflow or Wraparound

    CVE-2026-10669Zephyr Project

    On Xtensa SoCs built with CONFIG_XTENSA_MPU and CONFIG_USERSPACE, arch_buffer_validate() in arch/xtensa/core/mpu.c — the architecture hook that verifies a user-mode-supplied buffer is accessible to the calling user thread with the requested permission — defaul

  • 7.8 High severity

    zephyr: Use After Free

    CVE-2026-10667Zephyr Project

    Zephyr's dynamic kernel-object tracking (kernel/userspace/userspace.c, formerly kernel/userspace.c) maintains a doubly-linked list (obj_list) of dynamically allocated kernel objects. Iteration over this list in k_object_wordlist_foreach() was performed under l

  • 9.8 Critical severity

    zephyr: Stack-based Buffer Overflow

    CVE-2026-10666Zephyr Project

    parse_ipv4() in subsys/net/ip/utils.c (reached via net_ipaddr_parse() for strings of the form "a.b.c.d:port") copies the port substring into a fixed 17-byte stack buffer (char ipaddr[NET_IPV4_ADDR_LEN + 1]) using a length of str_len - end - 1, where str_len is

  • 7.4 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-10665Zephyr Project

    In Zephyr's WireGuard subsystem (subsys/net/lib/wireguard), wg_process_data_message() in wg_crypto.c linearizes an inbound transport-data payload into a fixed pool buffer of CONFIG_WIREGUARD_BUF_LEN bytes before decryption. The call net_buf_linearize(buf->data

  • 8.1 High severity

    zephyr: Out-of-bounds Read

    CVE-2026-9263Zephyr Project

    The Zephyr Bluetooth controller ISO Adaptation Layer (subsys/bluetooth/controller/ll_sw/isoal.c) fails to validate the length field of a framed ISO PDU start segment. Per the Bluetooth specification a start segment (sc=0) always carries a 3-byte time_offset, s

  • 8.1 High severity

    zephyr: Double Free

    CVE-2026-10653Zephyr Project

    The Zephyr net_buf library (lib/net_buf/buf.c) manipulated both of its reference counts -- the per-header buf->ref and the per-data-block ref_count at the start of each variable/heap data allocation -- with plain non-atomic C operators (buf->ref++, if (--buf->

  • 7.4 High severity

    zephyr: Out-of-bounds Read

    CVE-2026-10652Zephyr Project

    Zephyr's DNS resolver (subsys/net/lib/dns) parses resource records from DNS responses in dns_unpack_answer(), which validated only the fixed RR header (type, class, TTL, rdlength) and accepted any attacker-declared rdlength, including one extending past the en

  • 7.5 High severity

    zephyr: Improper Limitation of a Pathname to a Restricted Directory

    CVE-2026-8023Zephyr Project

    Zephyr's HTTP server (subsys/net/lib/http) provides a static-filesystem resource type (HTTP_RESOURCE_TYPE_STATIC_FS, available when CONFIG_FILE_SYSTEM is enabled) that serves files from a configured root directory. Before this fix, both the HTTP/1 and HTTP/2 f

  • 7.4 High severity

    zephyr: Use After Free

    CVE-2026-10646Zephyr Project

    Zephyr's BSD-sockets getaddrinfo() implementation (subsys/net/lib/sockets/getaddrinfo.c) passes a pointer to a stack-allocated state object (struct getaddrinfo_state ai_state) as the user_data of an asynchronous DNS resolver query. The socket layer waits on a

  • 7.8 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-10643Zephyr Project

    Zephyr's IP socket recvmsg() implementation (subsys/net/lib/sockets/sockets_inet.c, insert_pktinfo()) validated the user-supplied ancillary (msg_control) buffer using only the payload length (msg->msg_controllen < pktinfo_len) before writing a full control mes

  • 7.1 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-10658Zephyr Project

    bt_iso_recv() in subsys/bluetooth/host/iso.c pulled the ISO SDU header (4 bytes) or, when the timestamp flag is set, the timestamped SDU header (8 bytes) from the inbound HCI ISO Data buffer via net_buf_pull_mem() without first checking buf->len. The upstream

  • 7.1 High severity

    zephyr: Out-of-bounds Write

    CVE-2026-10641Zephyr Project

    Zephyr's Bluetooth Classic Hands-Free Profile (HFP) Hands-Free role parser (subsys/bluetooth/host/classic/hfp_hf.c) contains an out-of-bounds write. During Service Level Connection setup the HF sends AT+CIND=? and parses the AG's +CIND: response in cind_handle

  • 7.1 High severity

    zephyr: Use After Free

    CVE-2026-10640Zephyr Project

    Zephyr's IPv6 Neighbor Discovery send paths (net_ipv6_send_na, net_ipv6_send_ns, net_ipv6_send_rs in subsys/net/ip/ipv6_nbr.c) updated the per-interface ICMP-sent statistics by calling net_pkt_iface(pkt) after net_send_data(pkt) had already returned successful

  • 7.5 High severity

    zephyr: Use After Free

    CVE-2026-10638Zephyr Project

    subsys/net/ip/icmpv6.c reads the network interface from a net_pkt after that packet has been handed to net_try_send_data(). In icmpv6_handle_echo_request() and net_icmpv6_send_error(), the post-send statistics update calls net_pkt_iface(reply)/net_pkt_iface(pk

  • 7.1 High severity

    zephyr: Use After Free

    CVE-2026-10637Zephyr Project

    subsys/net/ip/ipv6_mld.c:mld_send() read the packet interface via net_pkt_iface(pkt) after net_send_data(pkt) returned successfully. Per the network stack's ownership contract (include/zephyr/net/net_core.h, and the explicit warning in subsys/net/ip/net_core.c

  • 8.0 High severity

    Zephyr: Use After Free

    CVE-2023-1902Zephyrproject-rtos

    The bluetooth HCI host layer logic not clearing a global reference to a state pointer after handling connection events may allow a malicious HCI Controller to cause the use of a dangling reference in the host layer, leading to a crash (DoS) or potential RCE on

  • 8.0 High severity

    Zephyr: Out-of-bounds Write

    CVE-2023-1901Zephyrproject-rtos

    The bluetooth HCI host layer logic not clearing a global reference to a semaphore after synchronously sending HCI commands may allow a malicious HCI Controller to cause the use of a dangling reference in the host layer, leading to a crash (DoS) or potential RC