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

Goal: 1000 CNY · Raised: 1110 CNY

100%

CVE-2025-38305— ptp: remove ptp->n_vclocks check logic in ptp_vclock_in_use()

AI Predicted 5.5 Difficulty: Moderate EPSS 0.08% · P24

Affected Version Matrix 14

VendorProductVersion RangeStatus
LinuxLinux73f37068d540eba5f93ba3a0019bf479d35ebd76< 5d217e7031a5c06d366580fc6ddbf43527b780d4affected
73f37068d540eba5f93ba3a0019bf479d35ebd76< b1b73c452331451020be3bf4b014901015ae6663affected
73f37068d540eba5f93ba3a0019bf479d35ebd76< 259119595227fd20f6aa29d85abe086b6fdd9eb1affected
73f37068d540eba5f93ba3a0019bf479d35ebd76< b93e6fef4eda48e17d9c642b9abad98a066fd4a3affected
73f37068d540eba5f93ba3a0019bf479d35ebd76< ef8fc007c28a30a4c0d90bf755e0f343d99bb392affected
73f37068d540eba5f93ba3a0019bf479d35ebd76< 87f7ce260a3c838b49e1dc1ceedf1006795157a2affected
5.14affected
< 5.14unaffected
… +6 more rows
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-38305

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
ptp: remove ptp->n_vclocks check logic in ptp_vclock_in_use()
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: ptp: remove ptp->n_vclocks check logic in ptp_vclock_in_use() There is no disagreement that we should check both ptp->is_virtual_clock and ptp->n_vclocks to check if the ptp virtual clock is in use. However, when we acquire ptp->n_vclocks_mux to read ptp->n_vclocks in ptp_vclock_in_use(), we observe a recursive lock in the call trace starting from n_vclocks_store(). ============================================ WARNING: possible recursive locking detected 6.15.0-rc6 #1 Not tainted -------------------------------------------- syz.0.1540/13807 is trying to acquire lock: ffff888035a24868 (&ptp->n_vclocks_mux){+.+.}-{4:4}, at: ptp_vclock_in_use drivers/ptp/ptp_private.h:103 [inline] ffff888035a24868 (&ptp->n_vclocks_mux){+.+.}-{4:4}, at: ptp_clock_unregister+0x21/0x250 drivers/ptp/ptp_clock.c:415 but task is already holding lock: ffff888030704868 (&ptp->n_vclocks_mux){+.+.}-{4:4}, at: n_vclocks_store+0xf1/0x6d0 drivers/ptp/ptp_sysfs.c:215 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&ptp->n_vclocks_mux); lock(&ptp->n_vclocks_mux); *** DEADLOCK *** .... ============================================ The best way to solve this is to remove the logic that checks ptp->n_vclocks in ptp_vclock_in_use(). The reason why this is appropriate is that any path that uses ptp->n_vclocks must unconditionally check if ptp->n_vclocks is greater than 0 before unregistering vclocks, and all functions are already written this way. And in the function that uses ptp->n_vclocks, we already get ptp->n_vclocks_mux before unregistering vclocks. Therefore, we need to remove the redundant check for ptp->n_vclocks in ptp_vclock_in_use() to prevent recursive locking.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于ptp_vclock_in_use中递归锁检查,可能导致死锁。
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

VendorProductAffected VersionsCPESubscribe
LinuxLinux 73f37068d540eba5f93ba3a0019bf479d35ebd76 ~ 5d217e7031a5c06d366580fc6ddbf43527b780d4 -
LinuxLinux 5.14 -

II. Public POCs for CVE-2025-38305

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-38305

登录查看更多情报信息。

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

CVE-2025-38317wifi: ath12k: Fix buffer overflow in debugfs
CVE-2025-38328jffs2: check jffs2_prealloc_raw_node_refs() result in few other places
CVE-2025-38316wifi: mt76: mt7996: avoid NULL pointer dereference in mt7996_set_monitor()
CVE-2025-38315Bluetooth: btintel: Check dsbr size from EFI variable
CVE-2025-38314virtio-pci: Fix result size returned for the admin command completion
CVE-2025-38311iavf: get rid of the crit lock
CVE-2025-38310seg6: Fix validation of nexthop addresses
CVE-2025-38309drm/xe/vm: move xe_svm_init() earlier
CVE-2025-38308ASoC: Intel: avs: Fix possible null-ptr-deref when initing hw
CVE-2025-38313bus: fsl-mc: fix double-free on mc_dev
CVE-2025-38318perf: arm-ni: Fix missing platform_set_drvdata()
CVE-2025-38319drm/amd/pp: Fix potential NULL pointer dereference in atomctrl_initialize_mc_reg_table
CVE-2025-38320arm64/ptrace: Fix stack-out-of-bounds read in regs_get_kernel_stack_nth()
CVE-2025-38321smb: Log an error when close_all_cached_dirs fails
CVE-2025-38322perf/x86/intel: Fix crash in icl_update_topdown_event()
CVE-2025-38323net: atm: add lec_mutex
CVE-2025-38324mpls: Use rcu_dereference_rtnl() in mpls_route_input_rcu().
CVE-2025-38325ksmbd: add free_transport ops in ksmbd connection
CVE-2025-38326aoe: clean device rq_list in aoedev_downdev()
CVE-2025-38327fgraph: Do not enable function_graph tracer when setting funcgraph-args

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-38305

No comments yet


Leave a comment