Skip to main content

Linux Kernel CVE-2025-40347

HIGH
2025-12-16 416baaa9-dc9f-4396-8d5f-8c081fb06d67
7.5
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.1 MEDIUM

Self-triggered deadlock needs LS1028A hardware plus a PREEMPT_RT kernel and a lock-timing race (AV:L, AC:H); no attacker privileges but availability-only impact (A:H, C:N/I:N).

3.1 AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 HIGH
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

4
Analysis Generated
Jul 30, 2026 - 06:39 vuln.today
CVSS changed
Jul 30, 2026 - 06:37 NVD
7.5 (HIGH)
CVE Published
Dec 16, 2025 - 14:15 cve.org
HIGH 7.5
CVE Published
Dec 16, 2025 - 14:15 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

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

net: enetc: fix the deadlock of enetc_mdio_lock

After applying the workaround for err050089, the LS1028A platform experiences RCU stalls on RT kernel. This issue is caused by the recursive acquisition of the read lock enetc_mdio_lock. Here list some of the call stacks identified under the enetc_poll path that may lead to a deadlock:

enetc_poll -> enetc_lock_mdio -> enetc_clean_rx_ring OR napi_complete_done -> napi_gro_receive -> enetc_start_xmit -> enetc_lock_mdio -> enetc_map_tx_buffs -> enetc_unlock_mdio -> enetc_unlock_mdio

After enetc_poll acquires the read lock, a higher-priority writer attempts to acquire the lock, causing preemption. The writer detects that a read lock is already held and is scheduled out. However, readers under enetc_poll cannot acquire the read lock again because a writer is already waiting, leading to a thread hang.

Currently, the deadlock is avoided by adjusting enetc_lock_mdio to prevent recursive lock acquisition.

AnalysisAI

Denial of service in the Linux kernel's NXP ENETC Ethernet driver (enetc) on Layerscape LS1028A platforms allows the CPU to hang under normal network load, causing RCU stalls on PREEMPT_RT kernels. The flaw stems from recursive acquisition of the read-side enetc_mdio_lock in the enetc_poll NAPI path, which deadlocks when a higher-priority writer is queued between two reader acquisitions. No public exploit identified at time of analysis; EPSS is very low (0.03%, 8th percentile) and it is not CISA KEV listed, consistent with a reliability/self-triggered availability bug rather than an attacker-weaponized flaw.

Technical ContextAI

The affected component is drivers/net/ethernet/freescale/enetc, the driver for NXP's ENETC integrated Ethernet controller found on the LS1028A SoC. To work around hardware erratum err050089, the driver serializes MDIO register access with a reader/writer lock (enetc_mdio_lock). The bug is a classic recursive/reentrant read-lock deadlock (CWE-667 improper locking / CWE-833 deadlock, though no CWE was assigned in the feed): enetc_poll takes the read lock, then within the same call chain napi_gro_receive -> enetc_start_xmit re-enters enetc_lock_mdio to take the read lock again. On a PREEMPT_RT kernel, rwlocks are converted to priority-inheriting sleeping locks that do not permit an unbounded number of concurrent readers when a writer is waiting, so a preempting writer parks the first reader and the second (nested) reader can no longer be granted - producing a thread hang and RCU stall. The upstream fix adjusts enetc_lock_mdio to avoid the recursive acquisition.

Affected ProductsAI

The Linux kernel's Freescale/NXP enetc Ethernet driver as used on the NXP LS1028A (Layerscape) platform, specifically affecting PREEMPT_RT (real-time) kernel configurations where the err050089 MDIO workaround is applied. Exact vulnerable version ranges were not enumerated in the feed (no CPE strings and no NVD-assigned version data were provided); affected/fixed branches must be derived from the stable-tree commits. Fix commits are published at git.kernel.org/stable/c/1f92f5bd057a4fad9dab6af17963cdd21e5da6ed, /2781ca82ce8cad263d80b617addb727e6a84c9e5, /2e55a49dc3b2a6b23329e4fbbd8a5feb20e220aa, /50bd33f6b3922a6b760aa30d409cae891cec8fb5, and /a649161526736f48bcc592e3a412e5bcd7dd9e24, indicating backports across multiple stable series.

RemediationAI

Upstream fix available (commits in the stable tree); a specific released/tagged kernel version was not independently confirmed from the provided data. Update to a stable kernel release that includes the enetc_mdio_lock recursion fix by cherry-picking or upgrading to a build containing one of the referenced commits (git.kernel.org/stable/c/1f92f5bd057a4fad9dab6af17963cdd21e5da6ed and the four sibling commits) for your kernel branch. As an interim compensating control on LS1028A RT systems, you can run a non-PREEMPT_RT (mainline/standard preemption) kernel where the recursive rwlock does not deadlock - trade-off: loss of real-time latency guarantees; or, if the err050089 erratum does not affect your specific silicon revision or usage, evaluate with NXP whether the MDIO workaround can be disabled - trade-off: risk of the underlying MDIO/PHY access erratum resurfacing. Confirm the exact patched version with NXP/kernel maintainers before deploying.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Affected
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.95 Image SL-Micro Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.115 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.146 Affected
Container suse/sl-micro/6.0/toolbox:latest Affected

Share

CVE-2025-40347 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy