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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-98563— net: phylink: record the PHY only once bringup cannot fail

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 内核中,以下漏洞已得到修复: net: phylink:仅在 PHY 初始化无法失败时才记录 PHY 函数在最后一个可能失败的步骤之前,就将 PHY 设备指针存储到了 中。对于实现了 LPI(低功耗空闲)的 MAC 控制器而言, 可能会因真实的 MDIO 错误而失败。此时,调用方会执行 进行回滚,但 并不知晓 的状态,导致一个指向已不再挂载的 PHY 的指针在连接失败后仍然存活。 该问题造成的后果取决于调用方是如何进入此代码路径的: 1. 路径:该函数会经过 ,而后者在 已设置时会拒绝再次挂载。这会

AI Predicted 7.8 Difficulty: Moderate

Possible ATT&CK Techniques 2 AI

T1562 T1069 · Permission Groups Discovery

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 03abf2a7c65451e663b078b0ed1bfa648cd9380f< 4e7a4af364c2048bafb213bf0ef4a89dcbe1bfd4 affected
03abf2a7c65451e663b078b0ed1bfa648cd9380f< 671a68654a9d319d7f0d53a6321db3d9b391bdef affected
03abf2a7c65451e663b078b0ed1bfa648cd9380f< a940003f44e7e441c228151dd212642152700ec8 affected
6.14 affected
< 6.14 unaffected
6.18.55≤ 6.18.* unaffected
7.2.9≤ 7.2.* unaffected
7.3-rc5≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-98563

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
net: phylink: record the PHY only once bringup cannot fail
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net: phylink: record the PHY only once bringup cannot fail phylink_bringup_phy() stores the PHY in pl->phydev before its last fallible step: on a MAC whose phylink ops implement LPI, phy_eee_rx_clock_stop() can fail with a real MDIO error. The callers unwind with phy_detach(), which knows nothing about pl->phydev, so a pointer to a PHY that is no longer attached outlives the failed connect. What that costs depends on how the caller got here. phylink_connect_phy() goes through phylink_attach_phy(), which refuses to attach while pl->phydev is set, turning a transient MDIO error into a permanent -EBUSY. The SFP path is worse than that: sfp_sm_probe_phy() answers the failure with phy_device_remove() and phy_device_free(), and it assigns sfp->mod_phy only past that error return, so nothing clears pl->phydev and it is left pointing at a freed phy_device that phylink_resolve() and the ethtool helpers go on reading. phylink_fwnode_phy_connect() has no such check, so a later connect overwrites the stale pointer and hides the problem. A disconnect does not: phylink_disconnect_phy() hands that pointer to phy_disconnect(), and the second phy_detach() on the same PHY drops references the first one already released. Found while making a DSA port survive a PHY whose driver arrives after the switch probes: keeping the port across a failed connect and retrying is what makes this window reachable. Publish the pointer after the last call that can fail instead of unwinding it afterwards. Nothing between the two points reads pl->phydev, and the registration that follows cannot fail: phy_request_interrupt() falls back to polling on its own. The PHY-side state keeps the order it had, so no MDIO operation moves relative to another.
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

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 03abf2a7c65451e663b078b0ed1bfa648cd9380f ~ 4e7a4af364c2048bafb213bf0ef4a89dcbe1bfd4 -
Linux Linux 6.14 -

II. Public POCs for CVE-2026-98563

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

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

Patches & Fixes for CVE-2026-98563 (3)

Same Patch Batch · Linux · 2026-10-18 · 436 CVEs total

CVE-2026-98583 nfc: nfcmrvl: validate helper command length before pull
CVE-2026-98570 net: ipv6: keep room for the mac header in dst_dev_overhead()
CVE-2026-98571 net: stmmac: clear stale buf->page after recycling on skb build failure
CVE-2026-98572 bpf: Fix immediate JMP JEQ/JNE on MIPS32
CVE-2026-98573 net: skbuff: fix pull-bound underflow in skb_checksum_setup_ipv6()
CVE-2026-98574 net: bcmgenet: stop Tx NAPI before disabling the queues
CVE-2026-98575 nfc: pn533: fix OOB read in pn533_acr122_is_rx_frame_valid()
CVE-2026-98576 nfc: llcp: fix slab-out-of-bounds reads when logging service names
CVE-2026-98577 nfc: llcp: fix WKS SAP hijacking via prefix match in nfc_llcp_wks_sap()
CVE-2026-98578 nfc: st21nfca: validate ISO15693 inventory length
CVE-2026-98579 nfc: llcp: fix sdreq TLV list leak on parse/alloc/send failure
CVE-2026-98580 nfc: llcp: Fix race condition in accept_queue lifecycle
CVE-2026-98581 nfc: llcp: Fix list corruption / refcount desync in nfc_llcp_recv_dm()
CVE-2026-98582 nfc: st21nfca: validate received frame size
CVE-2026-98594 tg3: clean up PHYLIB resources on probe failure
CVE-2026-98591 bpf: Fix bounds check for skb-backed dynptrs
CVE-2026-98592 net: spacemit: clear TX descriptor on fragment mapping failure
CVE-2026-98593 s390/debug: Fix NULL pointer dereference in debug_info_copy()
CVE-2026-98590 bpf: Fix bpf_sock context code generation
CVE-2026-98595 udp: remove a disconnected socket from the 4-tuple hash table

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-98563

No comments yet


Leave a comment