LiveActive security incident?Get immediate response
CVE Record

CVE-2025-71152: net: dsa: properly keep track of conduit reference

In the Linux kernel, the following vulnerability has been resolved: net: dsa: properly keep track of conduit reference Problem description ------------------- DSA has a mumbo-jumbo of reference handling of the conduit net device and its kobject which, sadly, is just wrong and doesn't make sense. There are two distinct problems. 1. The OF path, which uses of_find_net_device_by_node(), never releases the elevated refcount on the conduit's kobject. Nominally, the OF and non-OF paths should result in objects having identical reference counts taken, and it is already suspicious that dsa_dev_to_net_device() has a put_device() call which is missing in dsa_port_parse_of(), but we can actually even verify that an issue exists. With CONFIG_DEBUG_KOBJECT_RELEASE=y, if we run this command "before" and "after" applying this patch: (unbind the conduit driver for net device eno2) echo 0000:00:00.2 > /sys/bus/pci/drivers/fsl_enetc/unbind we see these lines in the output diff which appear only with the patch applied: kobject: 'eno2' (ffff002009a3a6b8): kobject_release, parent 0000000000000000 (delayed 1000) kobject: '109' (ffff0020099d59a0): kobject_release, parent 0000000000000000 (delayed 1000) 2. After we find the conduit interface one way (OF) or another (non-OF), it can get unregistered at any time, and DSA remains with a long-lived, but in this case stale, cpu_dp->conduit pointer. Holding the net device's underlying kobject isn't actually of much help, it just prevents it from being freed (but we never need that kobject directly). What helps us to prevent the net device from being unregistered is the parallel netdev reference mechanism (dev_hold() and dev_put()). Actually we actually use that netdev tracker mechanism implicitly on user ports since commit 2f1e8ea726e9 ("net: dsa: link interfaces with the DSA master to get rid of lockdep warnings"), via netdev_upper_dev_link(). But time still passes at DSA switch probe time between the initial of_find_net_device_by_node() code and the user port creation time, time during which the conduit could unregister itself and DSA wouldn't know about it. So we have to run of_find_net_device_by_node() under rtnl_lock() to prevent that from happening, and release the lock only with the netdev tracker having acquired the reference. Do we need to keep the reference until dsa_unregister_switch() / dsa_switch_shutdown()? 1: Maybe yes. A switch device will still be registered even if all user ports failed to probe, see commit 86f8b1c01a0a ("net: dsa: Do not make user port errors fatal"), and the cpu_dp->conduit pointers remain valid. I haven't audited all call paths to see whether they will actually use the conduit in lack of any user port, but if they do, it seems safer to not rely on user ports for that reference. 2. Definitely yes. We support changing the conduit which a user port is associated to, and we can get into a situation where we've moved all user ports away from a conduit, thus no longer hold any reference to it via the net device tracker. But we shouldn't let it go nonetheless - see the next change in relation to dsa_tree_find_first_conduit() and LAG conduits which disappear. We have to be prepared to return to the physical conduit, so the CPU port must explicitly keep another reference to it. This is also to say: the user ports and their CPU ports may not always keep a reference to the same conduit net device, and both are needed. As for the conduit's kobject for the /sys/class/net/ entry, we don't care about it, we can release it as soon as we hold the net device object itself. History and blame attribution ----------------------------- The code has been refactored so many times, it is very difficult to follow and properly attribute a blame, but I'll try to make a short history which I hope to be correct. We have two distinct probing paths: - one for OF, introduced in 2016 i ---truncated---

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysisunknown

Security readout for executives and security teams

Plain-English summary

This Linux kernel issue is a lifecycle bug in DSA switch networking. The kernel may keep the wrong reference to a conduit network device, leaving stale pointers or unreleased objects when that device is unregistered. Business urgency depends on whether affected Linux systems use DSA switch hardware or derived vendor kernels.

Executive priority

Handle as targeted patch-management work, not an emergency internet-wide exposure. Prioritize network appliances and embedded Linux platforms where a kernel fault could disrupt routing, switching, or management availability.

Technical view

The DSA code mishandles conduit netdev and kobject references across OF and non-OF probe paths. The fix releases the unneeded kobject reference, uses netdev reference tracking with dev_hold/dev_put, and holds rtnl_lock while resolving the conduit to prevent unregister races.

Likely exposure

Likely exposure is limited to Linux systems using DSA networking paths, common in embedded, switch, router, or appliance kernels. The source lists Linux affected and references stable fixes, but downstream distribution and vendor appliance status require confirmation.

Exploitation context

The provided sources do not show active exploitation, public exploit code, or KEV listing. The described impact is a kernel reference-lifetime defect around device unregister/probe behavior, not a documented remote attack path.

Researcher notes

Evidence supports a DSA conduit reference-counting and unregister-race fix. The bundle lacks CVSS, CWE, exploitability analysis, and concrete impact classification, so severity should remain unknown until vendor or kernel maintainer guidance adds impact detail.

Mitigation direction

  • Check vendor kernel advisories for CVE-2025-71152 applicability.
  • Update to a kernel containing the referenced stable DSA fix.
  • Prioritize appliances or embedded systems using Linux DSA switch drivers.
  • Avoid treating generic Linux servers as exposed without DSA evidence.
  • Track downstream distro backports rather than relying only on version strings.

Validation and detection

  • Inventory kernels and appliances using Linux DSA networking.
  • Check kernel config and hardware tree for DSA switch support.
  • Compare installed kernel source against the referenced stable commits.
  • Confirm vendor advisory status for each appliance or distro kernel.
  • Monitor logs for conduit driver unregister or probe failures.
Prepared
Confidence
medium
Sources
6

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2025-71152 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
0ADP providers
5Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux83c0afaec7b730b16c518aecc8e6246ec91b265e, 83c0afaec7b730b16c518aecc8e6246ec91b265e, 83c0afaec7b730b16c518aecc8e6246ec91b265e, 83c0afaec7b730b16c518aecc8e6246ec91b265eunaffected
LinuxLinux4.8, 0, 6.6.130, 6.12.78, 6.18.4, 6.19affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.