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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-39831— fbnic: Move phylink resume out of service_task and into open/close

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存在安全漏洞,该漏洞源于fbnic驱动程序中phylink恢复操作未正确锁定,可能导致竞争条件。

AI Predicted 4.7 Difficulty: Moderate EPSS 0.15% · P4

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 69684376eed517817251ea6a768cfc315350d5c1< 7aab65c62a8a8b48c02e600fe9367b2af662fcb6 affected
69684376eed517817251ea6a768cfc315350d5c1< 3ac5f54e47eb348a4bc26e600c63b4d778a22e23 affected
69684376eed517817251ea6a768cfc315350d5c1< 6ede14a2c6365e7e5d855643c7c8390b5268c467 affected
6.11 affected
< 6.11 unaffected
6.12.45≤ 6.12.* unaffected
6.16.5≤ 6.16.* unaffected
6.17≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-39831

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
fbnic: Move phylink resume out of service_task and into open/close
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: fbnic: Move phylink resume out of service_task and into open/close The fbnic driver was presenting with the following locking assert coming out of a PM resume: [ 42.208116][ T164] RTNL: assertion failed at drivers/net/phy/phylink.c (2611) [ 42.208492][ T164] WARNING: CPU: 1 PID: 164 at drivers/net/phy/phylink.c:2611 phylink_resume+0x190/0x1e0 [ 42.208872][ T164] Modules linked in: [ 42.209140][ T164] CPU: 1 UID: 0 PID: 164 Comm: bash Not tainted 6.17.0-rc2-virtme #134 PREEMPT(full) [ 42.209496][ T164] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-5.fc42 04/01/2014 [ 42.209861][ T164] RIP: 0010:phylink_resume+0x190/0x1e0 [ 42.210057][ T164] Code: 83 e5 01 0f 85 b0 fe ff ff c6 05 1c cd 3e 02 01 90 ba 33 0a 00 00 48 c7 c6 20 3a 1d a5 48 c7 c7 e0 3e 1d a5 e8 21 b8 90 fe 90 <0f> 0b 90 90 e9 86 fe ff ff e8 42 ea 1f ff e9 e2 fe ff ff 48 89 ef [ 42.210708][ T164] RSP: 0018:ffffc90000affbd8 EFLAGS: 00010296 [ 42.210983][ T164] RAX: 0000000000000000 RBX: ffff8880078d8400 RCX: 0000000000000000 [ 42.211235][ T164] RDX: 0000000000000000 RSI: 1ffffffff4f10938 RDI: 0000000000000001 [ 42.211466][ T164] RBP: 0000000000000000 R08: ffffffffa2ae79ea R09: fffffbfff4b3eb84 [ 42.211707][ T164] R10: 0000000000000003 R11: 0000000000000000 R12: ffff888007ad8000 [ 42.211997][ T164] R13: 0000000000000002 R14: ffff888006a18800 R15: ffffffffa34c59e0 [ 42.212234][ T164] FS: 00007f0dc8e39740(0000) GS:ffff88808f51f000(0000) knlGS:0000000000000000 [ 42.212505][ T164] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 42.212704][ T164] CR2: 00007f0dc8e9fe10 CR3: 000000000b56d003 CR4: 0000000000772ef0 [ 42.213227][ T164] PKRU: 55555554 [ 42.213366][ T164] Call Trace: [ 42.213483][ T164] <TASK> [ 42.213565][ T164] __fbnic_pm_attach.isra.0+0x8e/0xa0 [ 42.213725][ T164] pci_reset_function+0x116/0x1d0 [ 42.213895][ T164] reset_store+0xa0/0x100 [ 42.214025][ T164] ? pci_dev_reset_attr_is_visible+0x50/0x50 [ 42.214221][ T164] ? sysfs_file_kobj+0xc1/0x1e0 [ 42.214374][ T164] ? sysfs_kf_write+0x65/0x160 [ 42.214526][ T164] kernfs_fop_write_iter+0x2f8/0x4c0 [ 42.214677][ T164] ? kernfs_vma_page_mkwrite+0x1f0/0x1f0 [ 42.214836][ T164] new_sync_write+0x308/0x6f0 [ 42.214987][ T164] ? __lock_acquire+0x34c/0x740 [ 42.215135][ T164] ? new_sync_read+0x6f0/0x6f0 [ 42.215288][ T164] ? lock_acquire.part.0+0xbc/0x260 [ 42.215440][ T164] ? ksys_write+0xff/0x200 [ 42.215590][ T164] ? perf_trace_sched_switch+0x6d0/0x6d0 [ 42.215742][ T164] vfs_write+0x65e/0xbb0 [ 42.215876][ T164] ksys_write+0xff/0x200 [ 42.215994][ T164] ? __ia32_sys_read+0xc0/0xc0 [ 42.216141][ T164] ? do_user_addr_fault+0x269/0x9f0 [ 42.216292][ T164] ? rcu_is_watching+0x15/0xd0 [ 42.216442][ T164] do_syscall_64+0xbb/0x360 [ 42.216591][ T164] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 42.216784][ T164] RIP: 0033:0x7f0dc8ea9986 A bit of digging showed that we were invoking the phylink_resume as a part of the fbnic_up path when we were enabling the service task while not holding the RTNL lock. We should be enabling this sooner as a part of the ndo_open path and then just letting the service task come online later. This will help to enforce the correct locking and brings the phylink interface online at the same time as the network interface, instead of at a later time. I tested this on QEMU to verify this was working by putting the system to sleep using "echo mem > /sys/power/state" to put the system to sleep in the guest and then using the command "system_wakeup" in the QEMU monitor.
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存在安全漏洞,该漏洞源于fbnic驱动程序中phylink恢复操作未正确锁定,可能导致竞争条件。
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 69684376eed517817251ea6a768cfc315350d5c1 ~ 7aab65c62a8a8b48c02e600fe9367b2af662fcb6 -
Linux Linux 6.11 -

II. Public POCs for CVE-2025-39831

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

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

Same Patch Batch · Linux · 2025-09-16 · 115 CVEs total

CVE-2022-50350 9.8 CRITICAL scsi: target: iscsi: Fix a race condition between login_work and the login thread
CVE-2025-39806 8.8 HIGH HID: multitouch: fix slab out-of-bounds access in mt_report_fixup()
CVE-2023-53305 8.8 HIGH Bluetooth: L2CAP: Fix use-after-free
CVE-2025-39827 8.8 HIGH net: rose: include node references in rose_neigh refcount
CVE-2025-39826 8.8 HIGH net: rose: convert 'use' field to refcount_t
CVE-2023-53297 8.8 HIGH Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
CVE-2023-53315 8.8 HIGH wifi: ath11k: Fix SKB corruption in REO destination ring
CVE-2023-53322 8.8 HIGH scsi: qla2xxx: Wait for io return on terminate rport
CVE-2025-39809 8.4 HIGH HID: intel-thc-hid: intel-quicki2c: Fix ACPI dsd ICRS/ISUB length
CVE-2023-53333 8.2 HIGH netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one
CVE-2025-39818 7.8 HIGH HID: intel-thc-hid: intel-thc: Fix incorrect pointer arithmetic in I2C regs save
CVE-2025-39810 7.8 HIGH bnxt_en: Fix memory corruption when FW resources change during ifdown
CVE-2023-53311 7.8 HIGH nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput
CVE-2023-53314 7.8 HIGH fbdev/ep93xx-fb: Do not assign to struct fb_info.dev
CVE-2025-39815 7.8 HIGH RISC-V: KVM: fix stack overrun when loading vlenb
CVE-2023-53286 7.8 HIGH RDMA/mlx5: Return the firmware result upon destroying QP/RQ
CVE-2022-50341 7.8 HIGH cifs: fix oops during encryption
CVE-2023-53263 7.8 HIGH drm/nouveau/disp: fix use-after-free in error handling of nouveau_connector_create
CVE-2025-39821 7.8 HIGH perf: Avoid undefined behavior from stopping/starting inactive events
CVE-2025-39836 7.8 HIGH efi: stmm: Fix incorrect buffer allocation method

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-39831

No comments yet


Leave a comment