CVE-2025-39905: net: phylink: add lock for serializing concurrent pl->phydev writes with resolver

Published Oct 1, 2025
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

net: phylink: add lock for serializing concurrent pl->phydev writes with resolver

Currently phylinkresolve() protects itself against concurrent phylinkbringupphy() or phylinkdisconnectphy() calls which modify pl->phydev by relying on pl->statemutex.

The problem is that in phylinkresolve(), pl->statemutex is in a lock inversion state with pl->phydev->lock. So pl->phydev->lock needs to be acquired prior to pl->statemutex. But that requires dereferencing pl->phydev in the first place, and without pl->statemutex, that is racy.

Hence the reason for the extra lock. Currently it is redundant, but it will serve a functional purpose once mutexlock(&phy->lock) will be moved outside of the mutexlock(&pl->statemutex) section.

Another alternative considered would have been to let phylinkresolve() acquire the rtnlmutex, which is also held when phylinkbringupphy() and phylinkdisconnectphy() are called. But since phylinkdisconnectphy() runs under rtnllock(), it would deadlock with phylinkresolve() when calling flushwork(&pl->resolve). Additionally, it would have been undesirable because it would have unnecessarily blocked many other call paths as well in the entire kernel, so the smaller-scoped lock was preferred.

Affected Software

12 affected components
Linux Kernel
Microsoft azl3 kernel 6.6.96.2-2
Microsoft azl3 kernel 6.6.104.2-4
Microsoft azl3 kernel 6.6.117.1-1
Microsoft azl3 kernel 6.6.112.1-2
Linux Linux kernel<6.16.8
Linux Linux kernel=6.17-rc1
Linux Linux kernel=6.17-rc2
Linux Linux kernel=6.17-rc3
Linux Linux kernel=6.17-rc4
Linux Linux kernel=6.17-rc5
Microsoft cbl2 kernel 5.15.186.1-1

Event History

Oct 1, 2025
CVE Published
via MITRE·07:44 AM
Data Sourced
via MITRE·07:44 AM
Description
Data Sourced
via Red Hat·08:02 AM
DescriptionSeverityAffected Software
Data Sourced
via NVD·08:15 AM
RemedyDescriptionSeverityWeaknessAffected Software
Oct 2, 2025
Data Sourced
via Microsoft·01:07 AM
DescriptionSeverityWeaknessAffected Software
Updated
via Microsoft·01:07 AM
Affected Software
Updated
via Microsoft·01:07 AM
DescriptionSeverity
Updated
via Microsoft·01:07 AM
SeverityAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2025-39905?

CVE-2025-39905 is classified as a moderate severity vulnerability affecting the Linux kernel.

2

How do I fix CVE-2025-39905?

To mitigate CVE-2025-39905, update your Linux kernel to the latest stable version that includes the security fix.

3

What products are affected by CVE-2025-39905?

CVE-2025-39905 affects the Linux kernel across various distributions.

4

What type of vulnerability is CVE-2025-39905?

CVE-2025-39905 is a race condition vulnerability within the phylink subsystem of the Linux kernel.

5

When was CVE-2025-39905 reported?

CVE-2025-39905 was publicly disclosed in the year 2025.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203