Skip to main content

CVE-2025-37864: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2025-37864cvecve-2025-37864
Published: Fri May 09 2025 (05/09/2025, 06:43:54 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: net: dsa: clean up FDB, MDB, VLAN entries on unbind As explained in many places such as commit b117e1e8a86d ("net: dsa: delete dsa_legacy_fdb_add and dsa_legacy_fdb_del"), DSA is written given the assumption that higher layers have balanced additions/deletions. As such, it only makes sense to be extremely vocal when those assumptions are violated and the driver unbinds with entries still present. But Ido Schimmel points out a very simple situation where that is wrong: https://lore.kernel.org/netdev/ZDazSM5UsPPjQuKr@shredder/ (also briefly discussed by me in the aforementioned commit). Basically, while the bridge bypass operations are not something that DSA explicitly documents, and for the majority of DSA drivers this API simply causes them to go to promiscuous mode, that isn't the case for all drivers. Some have the necessary requirements for bridge bypass operations to do something useful - see dsa_switch_supports_uc_filtering(). Although in tools/testing/selftests/net/forwarding/local_termination.sh, we made an effort to popularize better mechanisms to manage address filters on DSA interfaces from user space - namely macvlan for unicast, and setsockopt(IP_ADD_MEMBERSHIP) - through mtools - for multicast, the fact is that 'bridge fdb add ... self static local' also exists as kernel UAPI, and might be useful to someone, even if only for a quick hack. It seems counter-productive to block that path by implementing shim .ndo_fdb_add and .ndo_fdb_del operations which just return -EOPNOTSUPP in order to prevent the ndo_dflt_fdb_add() and ndo_dflt_fdb_del() from running, although we could do that. Accepting that cleanup is necessary seems to be the only option. Especially since we appear to be coming back at this from a different angle as well. Russell King is noticing that the WARN_ON() triggers even for VLANs: https://lore.kernel.org/netdev/Z_li8Bj8bD4-BYKQ@shell.armlinux.org.uk/ What happens in the bug report above is that dsa_port_do_vlan_del() fails, then the VLAN entry lingers on, and then we warn on unbind and leak it. This is not a straight revert of the blamed commit, but we now add an informational print to the kernel log (to still have a way to see that bugs exist), and some extra comments gathered from past years' experience, to justify the logic.

AI-Powered Analysis

AILast updated: 07/04/2025, 00:40:43 UTC

Technical Analysis

CVE-2025-37864 is a vulnerability identified in the Linux kernel's Distributed Switch Architecture (DSA) networking subsystem. The issue arises from improper cleanup of Forwarding Database (FDB), Multicast Database (MDB), and VLAN entries when a DSA driver unbinds. The DSA framework assumes that higher network layers will balance additions and deletions of these entries, but this assumption can be violated, leading to lingering stale entries. Specifically, when a DSA driver unbinds, if FDB, MDB, or VLAN entries remain, the kernel triggers warnings and potentially leaks these entries. This can occur due to failures in functions like dsa_port_do_vlan_del(), which may leave VLAN entries lingering and cause WARN_ON() kernel warnings. The vulnerability stems from the fact that some DSA drivers support bridge bypass operations that require proper management of address filters, and the existing mechanisms to manage these filters (e.g., macvlan for unicast, setsockopt for multicast) are not always sufficient or used. Attempts to block unsupported operations by returning errors are counterproductive, so the fix involves ensuring proper cleanup of these entries during unbind, accompanied by informational kernel log messages to aid debugging. While this vulnerability does not appear to be directly exploitable for remote code execution or privilege escalation, it can lead to resource leaks, inconsistent network state, and potentially degraded network functionality or denial of service in affected systems. The vulnerability affects Linux kernel versions identified by the commit hash 0832cd9f1f023226527e95002d537123061ddac4 and was published on May 9, 2025. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet.

Potential Impact

For European organizations, the impact of CVE-2025-37864 primarily concerns network infrastructure stability and reliability. Organizations relying on Linux-based systems with DSA drivers—commonly found in embedded devices, network appliances, and some industrial control systems—may experience degraded network performance or intermittent connectivity issues due to stale FDB, MDB, or VLAN entries lingering after driver unbind events. This can complicate network management, cause unexpected traffic forwarding behavior, or lead to denial of service conditions if network interfaces fail to properly clean up state. While the vulnerability does not directly compromise confidentiality or integrity, the resulting network instability could disrupt critical services, especially in sectors like telecommunications, manufacturing, and critical infrastructure that depend on robust Linux-based networking stacks. Additionally, the presence of kernel WARN_ON() messages may increase operational overhead for system administrators who must investigate and remediate these warnings. Given the widespread use of Linux in European IT environments, particularly in data centers and network equipment, the vulnerability could have a broad operational impact if left unpatched.

Mitigation Recommendations

European organizations should take the following specific mitigation steps: 1) Apply the official Linux kernel patches that address CVE-2025-37864 as soon as they become available, ensuring that the DSA subsystem properly cleans up FDB, MDB, and VLAN entries on driver unbind. 2) Audit network devices and embedded systems running Linux kernels with DSA drivers to identify those using affected versions (notably those matching the commit hash 0832cd9f1f023226527e95002d537123061ddac4). 3) Implement monitoring for kernel logs to detect WARN_ON() messages related to DSA unbind events, enabling early detection of potential lingering entries and network anomalies. 4) Review and improve network configuration management to ensure that address filters and VLAN configurations are correctly managed and balanced, minimizing the risk of stale entries. 5) Where possible, avoid frequent unbind/bind cycles of DSA drivers or interfaces to reduce exposure to the issue until patches are applied. 6) Engage with Linux distribution vendors and hardware manufacturers to confirm patch availability and coordinate timely updates. 7) For critical infrastructure, consider network segmentation and redundancy to mitigate potential service disruptions caused by this vulnerability.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2025-04-16T04:51:23.958Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9818c4522896dcbd7d10

Added to database: 5/21/2025, 9:08:40 AM

Last enriched: 7/4/2025, 12:40:43 AM

Last updated: 8/14/2025, 6:05:31 PM

Views: 11

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats