Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-87042— Zephyr PTP: unvalidated Delay_Resp message interval lets an on-link peer wedge the PTP thread and flood the network

Quick assessment

Affected
zephyrproject zephyr
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在 中,IEEE 1588(PTP)端口的实现在处理接收到的 消息时,直接采用了其中的 字段,而未进行任何验证。 函数将原始报文值(一个全范围的 )直接存入 ,该值随后在 中被用作位移计数,用于设置 定时器的超时时间。当该值低于约 -30 时,计算出的超时时间会被截断为零;而当其绝对值大于或等于 64 时,则会对 执行未定义的位移操作。此外,IEEE 1588 标准中定义的“不适用”编码值 也落入了后者(未定义位移)的情况。 PTP 消息通过未认证的链路本地流量接收(包括 UDP 组播地址 224.0.1.129、

CVSS 6.5 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-87042

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Zephyr PTP: unvalidated Delay_Resp message interval lets an on-link peer wedge the PTP thread and flood the network
Source: CVE Program / CVE List V5
Vulnerability Description
The IEEE 1588 (PTP) port implementation in subsys/net/lib/ptp/port.c adopted the logMessageInterval field of a received Delay_Resp message without any validation. port_delay_resp_msg_process() stored the raw wire value (a full-range int8_t) into port_ds.log_min_delay_req_interval, and that value is later used as a shift count by port_timer_set_timeout() when the Delay_Req timer is armed. Values below about -30 truncate the computed timeout to zero, and values with a magnitude of 64 or more perform an undefined shift of a uint64_t; the standards-defined "not applicable" encoding 0x7F fell into the latter case as well. PTP messages are received over unauthenticated link-local traffic (UDP multicast on 224.0.1.129, IPv6 multicast, or raw IEEE 802.3), and the handler accepts a Delay_Resp from any sender as long as the port is a time receiver using the end-to-end delay mechanism and the message echoes the port identity and a pending sequence id — both of which the victim itself broadcasts in its Delay_Req. Any node on the same link can therefore inject a single crafted Delay_Resp, or simply become the time transmitter and advertise the bogus interval. Once the delay timer is armed with a zero timeout, the cooperative PTP thread re-arms and retransmits a Delay_Req on every tick. Each transmission takes a buffer from the fixed CONFIG_PTP_MSG_POLL_SIZE message slab (default 10) and holds it on port->delay_req_list for three seconds, so the slab is emptied within milliseconds and ptp_msg_alloc() then blocks with K_FOREVER inside the only thread that frees those buffers — permanently stalling time synchronization until reboot. Where a transmit-timestamp callback on another thread keeps recycling buffers, the result is instead a sustained multicast Delay_Req flood and continuous CPU consumption. There is no memory corruption and no disclosure of data; the impact is availability of the PTP subsystem and of the local network segment. The fix rejects intervals outside a representable range and treats 0x7F as "not applicable" as required by IEEE 1588-2019 Table 42. The equivalent unchecked adoption of logMessageInterval from Sync messages in port_sync_msg_process(), a weaker variant of the same issue, is fixed by the companion change 334bf57f416f (#118150), which applies the same range check, ignores the field for unicast Sync messages and treats 0x7F as not applicable.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
未加控制的资源消耗(资源穷尽)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
zephyrproject zephyr 3.7.0 ~ 4.3.2 -

II. Public POCs for CVE-2026-87042

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-87042

请登录查看更多情报信息。

Other References for CVE-2026-87042 (3)

Same Patch Batch · zephyrproject · 2026-11-10 · 6 CVEs total

CVE-2026-82391 9.1 CRITICAL Out-of-bounds write in Zephyr HTTP/2 server static-filesystem handler via corrupted receiv
CVE-2026-77685 8.3 HIGH Bluetooth Classic RFCOMM: integer underflow in the MCC TEST command handler leads to out-o
CVE-2026-90833 7.8 HIGH Signed offset bypasses bounds check in simulated EEPROM driver, allowing out-of-bounds ker
CVE-2026-90834 5.5 MEDIUM UART wide-data syscall verifiers check the 8-bit driver op, allowing a user-mode thread to
CVE-2026-90832 4.3 MEDIUM Out-of-bounds read in Bluetooth Host periodic advertising report reassembly due to unvalid

IV. Related Vulnerabilities