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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38268— usb: typec: tcpm: move tcpm_queue_vdm_unlocked to asynchronous work

Quick assessment

Affected
Linux Linux
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.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于typec-tcpm中的状态检查问题,可能导致死锁。

AI Predicted 4.3 Difficulty: Moderate EPSS 0.14% · P3

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux cdc9946ea6377e8e214b135ccc308c5e514ba25f< 7bdd712abefbec79176ab412d8c623e755c5d0ba affected
cdc9946ea6377e8e214b135ccc308c5e514ba25f< 1970d34b48cbeceb0c765984c9a6bb204c77f16a affected
cdc9946ea6377e8e214b135ccc308c5e514ba25f< 324d45e53f1a36c88bc649dc39e0c8300a41be0a affected
6.9 affected
< 6.9 unaffected
6.12.34≤ 6.12.* unaffected
6.15.3≤ 6.15.* unaffected
6.16≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38268

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
usb: typec: tcpm: move tcpm_queue_vdm_unlocked to asynchronous work
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpm: move tcpm_queue_vdm_unlocked to asynchronous work A state check was previously added to tcpm_queue_vdm_unlocked to prevent a deadlock where the DisplayPort Alt Mode driver would be executing work and attempting to grab the tcpm_lock while the TCPM was holding the lock and attempting to unregister the altmode, blocking on the altmode driver's cancel_work_sync call. Because the state check isn't protected, there is a small window where the Alt Mode driver could determine that the TCPM is in a ready state and attempt to grab the lock while the TCPM grabs the lock and changes the TCPM state to one that causes the deadlock. The callstack is provided below: [110121.667392][ C7] Call trace: [110121.667396][ C7] __switch_to+0x174/0x338 [110121.667406][ C7] __schedule+0x608/0x9f0 [110121.667414][ C7] schedule+0x7c/0xe8 [110121.667423][ C7] kernfs_drain+0xb0/0x114 [110121.667431][ C7] __kernfs_remove+0x16c/0x20c [110121.667436][ C7] kernfs_remove_by_name_ns+0x74/0xe8 [110121.667442][ C7] sysfs_remove_group+0x84/0xe8 [110121.667450][ C7] sysfs_remove_groups+0x34/0x58 [110121.667458][ C7] device_remove_groups+0x10/0x20 [110121.667464][ C7] device_release_driver_internal+0x164/0x2e4 [110121.667475][ C7] device_release_driver+0x18/0x28 [110121.667484][ C7] bus_remove_device+0xec/0x118 [110121.667491][ C7] device_del+0x1e8/0x4ac [110121.667498][ C7] device_unregister+0x18/0x38 [110121.667504][ C7] typec_unregister_altmode+0x30/0x44 [110121.667515][ C7] tcpm_reset_port+0xac/0x370 [110121.667523][ C7] tcpm_snk_detach+0x84/0xb8 [110121.667529][ C7] run_state_machine+0x4c0/0x1b68 [110121.667536][ C7] tcpm_state_machine_work+0x94/0xe4 [110121.667544][ C7] kthread_worker_fn+0x10c/0x244 [110121.667552][ C7] kthread+0x104/0x1d4 [110121.667557][ C7] ret_from_fork+0x10/0x20 [110121.667689][ C7] Workqueue: events dp_altmode_work [110121.667697][ C7] Call trace: [110121.667701][ C7] __switch_to+0x174/0x338 [110121.667710][ C7] __schedule+0x608/0x9f0 [110121.667717][ C7] schedule+0x7c/0xe8 [110121.667725][ C7] schedule_preempt_disabled+0x24/0x40 [110121.667733][ C7] __mutex_lock+0x408/0xdac [110121.667741][ C7] __mutex_lock_slowpath+0x14/0x24 [110121.667748][ C7] mutex_lock+0x40/0xec [110121.667757][ C7] tcpm_altmode_enter+0x78/0xb4 [110121.667764][ C7] typec_altmode_enter+0xdc/0x10c [110121.667769][ C7] dp_altmode_work+0x68/0x164 [110121.667775][ C7] process_one_work+0x1e4/0x43c [110121.667783][ C7] worker_thread+0x25c/0x430 [110121.667789][ C7] kthread+0x104/0x1d4 [110121.667794][ C7] ret_from_fork+0x10/0x20 Change tcpm_queue_vdm_unlocked to queue for tcpm_queue_vdm_work, which can perform the state check while holding the TCPM lock while the Alt Mode lock is no longer held. This requires a new struct to hold the vdm data, altmode_vdm_event.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于typec-tcpm中的状态检查问题,可能导致死锁。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux cdc9946ea6377e8e214b135ccc308c5e514ba25f ~ 7bdd712abefbec79176ab412d8c623e755c5d0ba -
Linux Linux 6.9 -

II. Public POCs for CVE-2025-38268

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-38268

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

Same Patch Batch · Linux · 2025-07-10 · 84 CVEs total

CVE-2025-38325 9.8 CRITICAL ksmbd: add free_transport ops in ksmbd connection
CVE-2025-38290 8.8 HIGH wifi: ath12k: fix node corruption in ar->arvifs list
CVE-2025-38291 8.8 HIGH wifi: ath12k: Prevent sending WMI commands to firmware during firmware crash
CVE-2025-38283 8.8 HIGH hisi_acc_vfio_pci: bugfix live migration function without VF device driver
CVE-2025-38293 8.8 HIGH wifi: ath11k: fix node corruption in ar->arvifs list
CVE-2025-38292 8.8 HIGH wifi: ath12k: fix invalid access to memory
CVE-2025-38343 8.3 HIGH wifi: mt76: mt7996: drop fragments with multicast or broadcast RA
CVE-2025-38333 7.8 HIGH f2fs: fix to bail out in get_new_segment()
CVE-2025-38303 7.8 HIGH Bluetooth: eir: Fix possible crashes on eir_create_adv_data
CVE-2025-38341 7.8 HIGH eth: fbnic: avoid double free when failing to DMA-map FW msg
CVE-2025-38276 7.8 HIGH fs/dax: Fix "don't skip locked entries when scanning entries"
CVE-2025-38346 7.8 HIGH ftrace: Fix UAF when lookup kallsym after ftrace disabled
CVE-2025-38321 7.8 HIGH smb: Log an error when close_all_cached_dirs fails
CVE-2025-38270 7.8 HIGH net: drv: netdevsim: don't napi_complete() from netpoll
CVE-2025-38306 7.8 HIGH fs/fhandle.c: fix a race in call of has_locked_children()
CVE-2025-38273 7.8 HIGH net: tipc: fix refcount warning in tipc_aead_encrypt
CVE-2025-38278 7.8 HIGH octeontx2-pf: QOS: Refactor TC_HTB_LEAF_DEL_LAST callback
CVE-2025-38339 7.8 HIGH powerpc/bpf: fix JIT code size calculation of bpf trampoline
CVE-2025-38317 7.8 HIGH wifi: ath12k: Fix buffer overflow in debugfs
CVE-2025-38287 7.5 HIGH IB/cm: Drop lockdep assert and WARN when freeing old msg

Showing top 20 of 84 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-38268

No comments yet


Leave a comment