VulnSea

zephyrproject has 153 CVEs on record between 2025 and 2026. Disclosure cadence is accelerating: 85 in the last 90 days against 55 in the 90 before. The busiest recent month was October 2026 with 55. The median CVSS is 6.5 (medium), with 2 rated critical. None have a confirmed exploitation report. The dominant weakness classes are CWE-787 (39) and CWE-125 (22).

CVEs per month

Last 12 months, by publish date

111201020304050607080910
Exploited share
0% vs 1% corpus
Median CVSS
6.5
Publish → KEV
—
Last 90 days
85 prev 55

Products

  • zephyr 153
153
Total CVEs
2
Critical
0
CISA KEV
0
Exploited

zephyrproject vulnerabilities

CVEs affecting zephyrproject, newest first. Open any entry for full detail, references, and exploit status.

153 CVEsRSS

CVE-2026-19742Low· 3.7
yesterday

IPv6 stable and temporary interface identifiers derived from a non-cryptographic PRNG secret key

The IPv6 stack derived the long-lived secret key used to compute RFC 7217 stable interface identifiers (gen_stable_iid() in subsys/net/ip/ipv6.c) and RFC 8981 temporary interface identifiers (gen_temporary_iid() in subsys/net/ip/ipv6_pe.…

▾ Sunlitzephyrproject · zephyrEPSS 0.25%via CVEORG
CVE-2026-81039Medium· 4.3
yesterday

Bluetooth Host connection reservation leak when multiple connectable advertising sets share an identity

The Bluetooth host pre-allocates a bt_conn object (a "reservation") from the fixed acl_conns[] pool for every connectable advertising set it starts, in le_adv_start_add_conn() in subsys/bluetooth/host/adv.c. When an incoming peripheral c…

▾ Sunlitzephyrproject · zephyrEPSS 0.21%via CVEORG
CVE-2026-81038High· 7.1
yesterday

Bluetooth OTS server discloses uninitialized stack memory in failed Calculate Checksum responses

The Object Transfer Service server builds its Object Action Control Point (OACP) response indication in oacp_ind_send() (subsys/bluetooth/services/ots/ots_oacp.c). Before this fix the four-byte Checksum Value field was appended whenever …

▾ Twilightzephyrproject · zephyrEPSS 0.15%via CVEORG
CVE-2026-82390Low· 3.7
yesterday

Cross-session AES key confusion in the Espressif ESP32 hardware crypto driver

The Espressif AES driver drivers/crypto/crypto_esp32_aes.c advertises a multi-session cipher API — it hands out up to CONFIG_ESP32_CRYPTO_AES_SESSIONS_MAX (default 4) independent sessions, each carrying its own key and direction. The AES…

▾ Sunlitzephyrproject · zephyrEPSS 0.20%via CVEORG
CVE-2026-82388Medium· 5.3
yesterday

Use of a released HFP HF object after a failed RFCOMM connect in the Bluetooth Classic host

bt_hfp_hf_connect() in subsys/bluetooth/host/classic/hfp_hf.c allocates the per-connection HFP Hands-Free object with hfp_hf_create(), which starts an SDP discovery by passing the object's embedded hf->sdp_param to bt_sdp_discover(). Tha…

▾ Sunlitzephyrproject · zephyrEPSS 0.21%via CVEORG
CVE-2026-82389Medium· 6.5
yesterday

Bluetooth Classic HFP AG wipes an object still linked in the SDP request list on connect failure, causing a NULL dereference

In the Bluetooth Classic Hands-Free Profile Audio Gateway role, hfp_ag_create() in subsys/bluetooth/host/classic/hfp_ag.c starts an SDP discovery toward the peer, which links the embedded ag->sdp_param._node into the SDP client's pending…

▾ Sunlitzephyrproject · zephyrEPSS 0.23%via CVEORG
CVE-2026-79977High· 8.2
4d ago

WireGuard peer endpoint learned from unauthenticated transport-data messages allows off-path tunnel hijack in Zephyr

The WireGuard VPN service in subsys/net/lib/wireguard/wg.c updated the peer endpoint from a message it could not authenticate. In handle_transport_data(), when the 32-bit receiver index of an incoming transport-data message matched no se…

▾ Twilightzephyrproject · zephyrEPSS 0.17%via CVEORG
CVE-2026-79980Medium· 5.6
4d ago

Predictable and reused DHCPv4 transaction identifier allows spoofed DHCP replies to reconfigure gateway and DNS

The DHCPv4 client in subsys/net/lib/dhcpv4/dhcpv4.c maintained its transaction identifier (iface->config.dhcpv4.xid) as a counter rather than as a per-transaction random value. It was seeded once with sys_rand32_get() in dhcpv4_start_int…

▾ Sunlitzephyrproject · zephyrEPSS 0.17%via CVEORG
CVE-2026-79979High· 7.8
4d ago

Stale TLB entries after demand-paging page-out let arm64 user threads access reused physical frames

The arm64 MMU backend invalidates a single virtual address from the TLB with invalidate_tlb_page() in arch/arm64/core/mmu.c, which issued TLBI VAE1{IS} with an operand of virt >> 12. That operand encodes the ASID in bits [63:48], so the …

▾ Twilightzephyrproject · zephyrEPSS 0.10%via CVEORG
CVE-2026-19741High· 7.5
4d ago

OpenThread joiner autostart uses a publicly documented default Joining Device Credential (PSKd)

Zephyr's OpenThread integration defined CONFIG_OPENTHREAD_JOINER_PSKD with default "J01NME" in modules/openthread/Kconfig.thread (previously subsys/net/l2/openthread/Kconfig, then subsys/net/l2/openthread/Kconfig.thread). J01NME is the e…

▾ Twilightzephyrproject · zephyrEPSS 0.17%via CVEORG
CVE-2026-79982High· 8.8
4d ago

Out-of-bounds write in the USB Bluetooth HCI transport class when a controller-to-host HCI packet exceeds the bulk endpoint maximum packet size

The Bluetooth HCI USB transport class of the new USB device stack, subsys/usb/device_next/class/bt_hci.c, copies every controller-to-host HCI packet into a USB transfer buffer before enqueuing it on an endpoint. bt_hci_tx_sync_in() alloc…

▾ Twilightzephyrproject · zephyrEPSS 0.23%via CVEORG
CVE-2026-79978Low· 3.6
4d ago

Out-of-bounds write in the ADXL345 sensor driver RTIO streaming FIFO read path

The RTIO streaming completion callback adxl345_process_fifo_samples_cb() in drivers/sensor/adi/adxl345/adxl345_stream.c clamps the amount of FIFO data it will report (read_len = MIN(fifo_bytes, buf_avail)) to the space actually returned …

▾ Sunlitzephyrproject · zephyrEPSS 0.09%via CVEORG
CVE-2026-79981Medium· 6.5
4d ago

DNS resolver reuses a single UDP source port for all queries, easing off-path answer spoofing

The DNS stub resolver in subsys/net/lib/dns/resolve.c binds one UDP socket per configured server when the resolver context is initialised (dns_resolve_init_locked() -> register_dispatcher() -> dns_dispatcher_register()), with the local p…

▾ Sunlitzephyrproject · zephyrEPSS 0.12%via CVEORG
CVE-2026-78117Medium· 4.2
6d ago

Race condition on shared HCI TX descriptor in the Infineon PSOC 6 BLESS Bluetooth driver can leak adjacent memory over the air

The Infineon PSOC 6 BLESS HCI driver in drivers/bluetooth/hci/hci_infineon_psoc6_bless.c stored the outgoing HCI packet descriptor in a file-scope variable, static cy_stc_ble_hci_tx_packet_info_t hci_tx_pkt. psoc6_bless_send() cleared an…

▾ Sunlitzephyrproject · zephyrEPSS 0.16%via CVEORG
CVE-2026-78116Medium· 5.2
6d ago

Double free of an RTIO submission in the Broadcom AFBR-S50 sensor driver data-evaluation error path

The Broadcom AFBR-S50 time-of-flight sensor driver double-completes an RTIO submission when sensor data evaluation fails. In data_ready_work_handler() (drivers/sensor/broadcom/afbr_s50/afbr_s50.c), a non-STATUS_OK return from Argus_Evalu…

▾ Sunlitzephyrproject · zephyrEPSS 0.21%via CVEORG
CVE-2026-19676High· 7.8
6d ago

PECI transfer syscall verifier does not validate embedded user buffer pointers, allowing arbitrary kernel memory read/write from user mode

The user-mode verifier for the peci_transfer() system call, z_vrfy_peci_transfer() in drivers/peci/peci_handlers.c, checked only the device object permission and copied the caller-supplied struct peci_msg with k_usermode_from_copy(). Tha…

▾ Twilightzephyrproject · zephyrEPSS 0.14%via CVEORG
CVE-2026-18748Low· 3.5
6d ago

Out-of-bounds read in Bluetooth Classic A2DP codec information element handling

The Bluetooth Classic A2DP host stores a codec Information Element (IE) in struct bt_a2dp_codec_ie, a one-byte len field plus a fixed 8-byte codec_ie[] array. When an AVDTP peer sent a codec IE longer than 8 bytes, a2dp_process_config_in…

▾ Sunlitzephyrproject · zephyrEPSS 0.20%via CVEORG
CVE-2026-79976High· 7.1
6d ago

NULL pointer dereference in the MCTP I2C+GPIO target binding triggerable by a peer I2C controller

The MCTP-over-I2C+GPIO target binding in subsys/pmci/mctp/mctp_i2c_gpio_target.c emulates a small pseudo-register file, where the bus controller first writes a register number and then writes or reads payload bytes. The selected register…

▾ Twilightzephyrproject · zephyrEPSS 0.26%via CVEORG
CVE-2026-78119Medium· 6.3
6d ago

Out-of-bounds write in the Nuvoton NPCX eSPI Target-Attached-Flash receive path from an unvalidated host-supplied packet length

The Nuvoton NPCX eSPI driver parses Target-Attached-Flash (TAF) requests in espi_taf_parse() (drivers/espi/espi_npcx.c), taking the 12-bit length field directly out of the request header in the FLASHRXBUF FIFO. For write and RPMC OP1 req…

▾ Sunlitzephyrproject · zephyrEPSS 0.14%via CVEORG
CVE-2026-78118High· 7.0
6d ago

Race condition on kernel wait queues: unlocked z_waitq_head() read in the timer expiration handler can yield a stale or sentinel thread pointer on SMP

The kernel helper z_waitq_head() (kernel/include/wait_q.h) reads the head of a thread wait queue, but on SMP systems it was called from several places without holding the scheduler spinlock _sched_spinlock that serializes wait-queue muta…

▾ Twilightzephyrproject · zephyrEPSS 0.10%via CVEORG
CVE-2026-19947Medium· 5.3
6d ago

Missing kernel object permission check in devmux syscalls allows unprivileged user threads to retarget a device multiplexer

The device multiplexer pseudo-driver in drivers/misc/devmux/devmux.c exposes two system calls, devmux_select_get() and devmux_select_set(). When CONFIG_USERSPACE is enabled, their user-mode verifiers z_vrfy_devmux_select_get() and z_vrfy…

▾ Sunlitzephyrproject · zephyrEPSS 0.13%via CVEORG
CVE-2026-19595Medium· 6.1
1w ago

Zephyr RTIO syscall verifier validates output parameters for read instead of write access

The user-mode syscall verifier z_vrfy_rtio_cqe_get_mempool_buffer() in subsys/rtio/rtio_syscalls.c validated its two output parameters, buff and buff_len, with K_SYSCALL_MEMORY_READ() rather than K_SYSCALL_MEMORY_WRITE(). Both are pure o…

▾ Sunlitzephyrproject · zephyrEPSS 0.14%via CVEORG
CVE-2026-77684Medium· 5.7
1w ago

Bluetooth Classic HFP Hands-Free: TX buffer leak on RFCOMM disconnect leads to permanent Bluetooth denial of service

The Bluetooth Classic Hands-Free Profile HF role in subsys/bluetooth/host/classic/hfp_hf.c does not release the AT command buffers that are still queued on hf->tx_pending when the RFCOMM DLC goes down. hfp_hf_disconnected() only cancelle…

▾ Sunlitzephyrproject · zephyrEPSS 0.25%via CVEORG
CVE-2026-76787Medium· 5.9
1w ago

NULL pointer dereference in the UpdateHub FOTA client when probe metadata omits sha256sum

The UpdateHub firmware-over-the-air client parses the CoAP probe response with Zephyr's JSON library in z_impl_updatehub_probe() (subsys/mgmt/updatehub/updatehub.c). The decoder treats every descriptor field as optional — json_obj_parse(…

▾ Sunlitzephyrproject · zephyrEPSS 0.36%via CVEORG
CVE-2026-76788High· 8.8
1w ago

Stack out-of-bounds write in the OSDP Control Panel reply parser

The OSDP Control Panel reply parser cp_decode_response() in subsys/mgmt/osdp/src/osdp_cp.c decodes replies from a Peripheral Device into a stack-allocated struct osdp_event. For the REPLY_KEYPPAD and REPLY_RAW reply types, the payload le…

▾ Twilightzephyrproject · zephyrEPSS 0.25%via CVEORG
CVE-2026-75085Medium· 4.2
1w ago

The STM32WBA IEEE 802.15.4 driver in drivers/ieee802154/ieee802154_stm32wba.c computed the packet length of a received frame as pkt_len = rx_frame->length - IEEE802154_FCS_LENGTH without first checking that the radio-reported length coul…

The STM32WBA IEEE 802.15.4 driver in drivers/ieee802154/ieee802154_stm32wba.c computed the packet length of a received frame as pkt_len = rx_frame->length - IEEE802154_FCS_LENGTH without first checking that the radio-reported length coul…

▾ Sunlitzephyrproject · zephyrEPSS 0.21%via NVD
CVE-2026-75084Medium· 6.8
1w ago

The CC1200 sub-GHz IEEE 802.15.4 driver takes the PHY packet length from the first byte of the radio's RX FIFO in get_packet_length() and validates it in verify_rxfifo_validity() (drivers/ieee802154/ieee802154_cc1200.c)

The CC1200 sub-GHz IEEE 802.15.4 driver takes the PHY packet length from the first byte of the radio's RX FIFO in get_packet_length() and validates it in verify_rxfifo_validity() (drivers/ieee802154/ieee802154_cc1200.c). That validation …

▾ Sunlitzephyrproject · zephyrEPSS 0.29%via NVD
CVE-2026-75083Medium· 5.9
1w ago

The receive path of the NXP KW41Z IEEE 802.15.4 driver, kw41z_rx() in drivers/ieee802154/ieee802154_kw41z.c, computed the payload size as pkt_len = len - KW41Z_FCS_LENGTH in a uint8_t, where len is the frame length reported by the radio.…

The receive path of the NXP KW41Z IEEE 802.15.4 driver, kw41z_rx() in drivers/ieee802154/ieee802154_kw41z.c, computed the payload size as pkt_len = len - KW41Z_FCS_LENGTH in a uint8_t, where len is the frame length reported by the radio.…

▾ Sunlitzephyrproject · zephyrEPSS 0.23%via NVD
CVE-2026-19673High· 7.1
1w ago

ethernet_recv() in subsys/net/l2/ethernet/ethernet.c validates only that the first net_buf of a received frame holds a plain 14-byte struct net_eth_hdr

ethernet_recv() in subsys/net/l2/ethernet/ethernet.c validates only that the first net_buf of a received frame holds a plain 14-byte struct net_eth_hdr. When the ethertype is 0x8100 and VLAN is enabled on the interface, the same buffer i…

▾ Twilightzephyrproject · zephyrEPSS 0.34%via NVD
CVE-2026-19940Medium· 6.5
2w ago

The Bluetooth Classic Hands-Free Profile Audio Gateway implementation in subsys/bluetooth/host/classic/hfp_ag.c keeps its struct bt_hfp_ag objects in a static pool indexed by ACL connection index

The Bluetooth Classic Hands-Free Profile Audio Gateway implementation in subsys/bluetooth/host/classic/hfp_ag.c keeps its struct bt_hfp_ag objects in a static pool indexed by ACL connection index. On link teardown, hfp_ag_disconnected() …

▾ Sunlitzephyrproject · zephyrEPSS 0.19%via NVD
zephyrproject vulnerabilities (CVEs) · VulnSea