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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-16148— Kernel panic in the it82xx2 USB device controller driver via re-initialization of a busy delayable work item

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.

在 中的 ITE it82xx2 USB 设备控制器驱动中, (即驱动的 操作)内部通过 初始化其总线挂起检测的工作项。当 USB 总线处于活动状态时,该工作项实际上会被持续调度:中断处理程序会在每个 SOF 帧后重新调度该工作项,而 也会重新调度自身,因此其超时节点通常挂在内核超时链表或工作队列的待处理队列中。 (位于 )会无条件地覆盖整个 结构体,包括其超时机制和队列链接,且没有进行“忙碌”检查。由于 并未取消该工作项,一次普通的“禁用后再启用”周期会再次执行 ( 仅拒绝重复启用,但不拒绝禁用后的重新启用),从

CVSS 4.6 · Medium

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-16148

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
Kernel panic in the it82xx2 USB device controller driver via re-initialization of a busy delayable work item
Source: CVE Program / CVE List V5
Vulnerability Description
The ITE it82xx2 USB device-controller driver initialized its bus-suspend detection work with k_work_init_delayable(&priv->suspended_work, suspended_handler) inside it82xx2_enable() (the driver's .enable op) in drivers/usb/udc/udc_it82xx2.c. This work item is scheduled essentially continuously while the USB bus is active: the interrupt handler reschedules it on every SOF frame and suspended_handler() reschedules itself, so its timeout node is normally linked in the kernel timeout list / a workqueue pending queue. k_work_init_delayable() (kernel/work.c) unconditionally overwrites the entire k_work_delayable structure, including its timeout and queue linkage, with no busy check. Because it82xx2_disable() does not cancel the work, a normal disable-then-enable cycle re-runs api->enable() (udc_enable() only rejects a redundant enable, not a re-enable after disable) and re-initializes the still-pending work in place, corrupting the kernel timeout/workqueue linked lists and causing a kernel panic. An external USB host — for example a host performing USB DFU detach (dfu-util --detach) or forcing repeated attach/reset/re-enumeration — drives the udc_disable()/udc_enable() transitions and controls suspend/resume timing, so it can arrange for the suspend work to be pending across a re-enable. This yields an unauthenticated denial of service (kernel panic) reachable across the USB boundary from a removable, physically-connected host, with no confidentiality or integrity impact demonstrated. The fix moves the k_work_init_delayable() call into the one-time preinit function so the work is initialized exactly once, eliminating the re-initialization of an in-use item.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:P/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.4.2 -

II. Public POCs for CVE-2026-16148

# 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-16148

登录查看更多情报信息。

Patches & Fixes for CVE-2026-16148 (1)

Vendor Advisories for CVE-2026-16148 (1)

Same Patch Batch · zephyrproject · 2026-09-14 · 5 CVEs total

CVE-2026-16147 6.8 MEDIUM it82xx2 USB device controller submits incomplete OUT transfer buffers, causing use-after-f
CVE-2026-15893 6.5 MEDIUM Zephyr IPv6 Neighbor Discovery zero reachable time from crafted Router Advertisement cause
CVE-2026-15924 5.9 MEDIUM Use-after-free / double-free from unsynchronized concurrent access to the TLS client sessi
CVE-2026-15923 4.6 MEDIUM Infinite loop denial of service in Zephyr SDIO byte-I/O from a card-supplied zero max_blk_

IV. Related Vulnerabilities

V. Comments for CVE-2026-16148

No comments yet


Leave a comment