CVE-2025-38150: af_packet: move notifier's packet_dev_mc out of rcu critical section
In the Linux kernel, the following vulnerability has been resolved:
af_packet: move notifier's packet_dev_mc out of rcu critical section
Syzkaller reports the following issue:
BUG: sleeping function called from invalid context at kernel/locking/mutex.c:578
__mutex_lock+0x106/0xe80 kernel/locking/mutex.c:746
team_change_rx_flags+0x38/0x220 drivers/net/team/team_core.c:1781
dev_change_rx_flags net/core/dev.c:9145 [inline]
__dev_set_promiscuity+0x3f8/0x590 net/core/dev.c:9189
netif_set_promiscuity+0x50/0xe0 net/core/dev.c:9201
dev_set_promiscuity+0x126/0x260 net/core/dev_api.c:286 packet_dev_mc net/packet/af_packet.c:3698 [inline]
packet_dev_mclist_delete net/packet/af_packet.c:3722 [inline]
packet_notifier+0x292/0xa60 net/packet/af_packet.c:4247
notifier_call_chain+0x1b3/0x3e0 kernel/notifier.c:85
call_netdevice_notifiers_extack net/core/dev.c:2214 [inline]
call_netdevice_notifiers net/core/dev.c:2228 [inline]
unregister_netdevice_many_notify+0x15d8/0x2330 net/core/dev.c:11972
rtnl_delete_link net/core/rtnetlink.c:3522 [inline]
rtnl_dellink+0x488/0x710 net/core/rtnetlink.c:3564
rtnetlink_rcv_msg+0x7cf/0xb70 net/core/rtnetlink.c:6955
netlink_rcv_skb+0x219/0x490 net/netlink/af_netlink.c:2534
Calling `PACKET_ADD_MEMBERSHIP` on an ops-locked device can trigger
the `NETDEV_UNREGISTER` notifier, which may require disabling promiscuous
and/or allmulti mode. Both of these operations require acquiring
the netdev instance lock.
Move the call to `packet_dev_mc` outside of the RCU critical section.
The `mclist` modifications (add, del, flush, unregister) are protected by
the RTNL, not the RCU. The RCU only protects the `sklist` and its
associated `sks`. The delayed operation on the `mclist` entry remains
within the RTNL.
Security readout for executives and security teams
Plain-English summary
A Linux kernel locking flaw can cause invalid kernel behavior during certain packet-membership and network-device removal operations. It requires local access and no user interaction. The supplied CVSS rating is 7.8/high, although the documented evidence demonstrates a kernel BUG condition rather than confirmed data theft or modification.
Executive priority
Use accelerated patching for affected multi-user or otherwise untrusted workloads, especially where local users receive packet-socket or network-management capabilities. The local-access requirement lowers urgency relative to a remote flaw, but kernel-level failure and the high rating justify prompt remediation. No active exploitation is established by the supplied evidence.
Technical view
AF_PACKET membership cleanup called packet_dev_mc inside an RCU critical section. That operation can change promiscuous or all-multicast mode and acquire a net-device mutex, causing an illegal sleep in the RCU context. The fix moves packet_dev_mc outside RCU while retaining RTNL protection for multicast-list changes.
Likely exposure
Exposure is limited to affected Linux kernel code in the listed 6.15 and 6.16 ranges where a local user can reach the relevant AF_PACKET and network-device paths. The bundle does not clearly map exact distribution package versions, so administrators must verify vendor kernels against the referenced fixes.
Exploitation context
The CVSS vector describes local, low-privilege exploitation with low complexity and no user interaction. The trigger involves PACKET_ADD_MEMBERSHIP on an operations-locked device followed by network-device unregistration. This CVE is not listed as KEV, and the supplied sources provide no evidence of active exploitation or a public exploit.
Researcher notes
The important synchronization distinction is that RCU protects sklist and associated sockets, while RTNL protects mclist changes. Moving packet_dev_mc outside RCU avoids mutex acquisition in an invalid context without removing mclist serialization. The bundle does not identify a CWE or establish practical confidentiality and integrity impact beyond the CVSS assessment.
Mitigation direction
Install a vendor-supported kernel containing the applicable referenced stable fix.
Reboot systems after updating so the corrected kernel is active.
Consult distribution guidance to identify fixed package versions for each kernel branch.
Until patched, restrict untrusted local access to relevant packet-socket and network-device capabilities.
Validation and detection
Inventory running kernel versions and installed kernel packages across Linux systems.
Compare each vendor kernel against the two referenced stable commits or distribution advisories.
After rebooting, confirm every system is running the intended fixed kernel.
Review kernel logs for invalid-context or packet_notifier BUG signatures without intentionally reproducing the fault.
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-38150 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
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.
1CVSS vectors
3Timeline events
0ADP providers
3Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.