MEDIUM 5.5

CVE-2026-52925: Linux Kernel VRF NULL Pointer Dereference – Patch Guidance

A Linux kernel vulnerability exists in Virtual Routing and Forwarding (VRF) port removal that can cause a system crash. When a network port is removed from a VRF configuration, the kernel may incorrectly assume it can access Layer 3 device operations on a newly assigned master device (like a bridge) that doesn't support those operations. This leads to a null pointer dereference—essentially the kernel trying to read data from a memory address that doesn't exist. The issue stems from insufficient synchronization during the port removal process, allowing RCU readers (kernel code paths that read without locks) to encounter inconsistent state.

Source data · NVD / CISA · public domain

CVSS
3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses (CWE)
CWE-476
Affected products
2 configuration(s)
Published / Modified
2026-06-24 / 2026-07-08

NVD description (verbatim)

In the Linux kernel, the following vulnerability has been resolved: vrf: Fix a potential NPD when removing a port from a VRF RCU readers that identified a net device as a VRF port using netif_is_l3_slave() assume that a subsequent call to netdev_master_upper_dev_get_rcu() will return a VRF device. They then continue to dereference its l3mdev operations. This assumption is not always correct and can result in a NPD [1]. There is no RCU synchronization when removing a port from a VRF, so it is possible for an RCU reader to see a new master device (e.g., a bridge) that does not have l3mdev operations. Fix by adding RCU synchronization after clearing the IFF_L3MDEV_SLAVE flag. Skip this synchronization when a net device is removed from a VRF as part of its deletion and when the VRF device itself is deleted. In the latter case an RCU grace period will pass by the time RTNL is released. [1] BUG: kernel NULL pointer dereference, address: 0000000000000000 [...] RIP: 0010:l3mdev_fib_table_rcu (net/l3mdev/l3mdev.c:181) [...] Call Trace: <TASK> l3mdev_fib_table_by_index (net/l3mdev/l3mdev.c:201 net/l3mdev/l3mdev.c:189) __inet_bind (net/ipv4/af_inet.c:499 (discriminator 3)) inet_bind_sk (net/ipv4/af_inet.c:469) __sys_bind (./include/linux/file.h:62 (discriminator 1) ./include/linux/file.h:83 (discriminator 1) net/socket.c:1951 (discriminator 1)) __x64_sys_bind (net/socket.c:1969 (discriminator 1) net/socket.c:1967 (discriminator 1) net/socket.c:1967 (discriminator 1)) do_syscall_64 (arch/x86/entry/syscall_64.c:63 (discriminator 1) arch/x86/entry/syscall_64.c:94 (discriminator 1)) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)

8 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability resides in the VRF subsystem's RCU (Read-Copy-Update) synchronization logic. When a network device is removed from a VRF via the IFF_L3MDEV_SLAVE flag being cleared, RCU reader threads that check netif_is_l3_slave() may still expect netdev_master_upper_dev_get_rcu() to return a VRF device with l3mdev operations. However, without an RCU grace period enforcement, a reader can observe the device has a new master (such as a bridge) that lacks l3mdev function pointers, resulting in a NULL pointer dereference when those operations are dereferenced. The fix adds RCU synchronization after the flag is cleared, with exceptions for device deletion scenarios where an RCU grace period is already guaranteed by RTNL release timing.

Business impact

This vulnerability can cause unscheduled system reboots on Linux systems using VRF configurations, particularly in containerized or multi-tenant environments where VRF is used for network isolation. Production systems that dynamically reconfigure network interfaces—such as Kubernetes nodes, cloud infrastructure, or software-defined networking deployments—face availability risk. The crash is reproducible when binding sockets during port removal, making this a reliability concern rather than a confidentiality or integrity threat.

Affected systems

The Linux kernel is affected. This vulnerability impacts deployments that actively use VRF functionality, including cloud platforms, container orchestration systems, and enterprise networks that rely on VRF for traffic segregation. Systems that statically configure VRF and never modify port membership are at lower risk. The vulnerability affects kernels from the VRF subsystem implementation onward; verify your specific kernel version against the vendor's security advisory for exact affected ranges and patch versions.

Exploitability

Exploitability requires local access and the ability to trigger network interface reconfiguration—either directly through root/CAP_NET_ADMIN privileges or as a container user with network capabilities. An unprivileged user cannot directly trigger this, but on shared systems or in misconfigured container environments, exposure increases. The crash is highly reproducible once triggered, making it suitable for denial-of-service scenarios. The CVE is not currently tracked in the KEV catalog and no public exploits are known, but the straightforward trigger mechanism means this is a realistic availability risk for operators managing VRF-based networks.

Remediation

Apply the Linux kernel patch that adds RCU synchronization after clearing the IFF_L3MDEV_SLAVE flag during port removal, with appropriate exceptions for device deletion. This patch is targeted and low-risk, affecting only the VRF port removal code path. Verify against the Linux kernel security advisory for the specific kernel versions and patch identifiers applicable to your distribution. Most mainstream distributions will issue kernel updates that backport this fix; prioritize patching systems that actively manage VRF port membership.

Patch guidance

Check your Linux distribution's kernel update advisories and apply the security patch to your kernel version. The fix is a surgical change to the VRF subsystem and does not require configuration changes. After patching, no special validation is needed beyond confirming the kernel version has been updated. If running an older long-term support (LTS) kernel, verify that your distribution has released a patched version—some may lag mainstream kernel releases. Test the patch in a staging environment if your VRF configuration is complex, though the fix is conservative and unlikely to cause regressions.

Detection guidance

Monitor system logs for kernel NULL pointer dereference messages mentioning 'l3mdev_fib_table_rcu' or the call stack shown in the CVE description. These crashes will be visible in kernel oops logs and system dmesg. In containerized environments, watch for unexpected pod evictions or node NotReady conditions correlated with VRF port configuration changes. Set up alerts for kernel crash dumps and unexpected reboots on VRF-enabled systems. Note that this is a crash-based vulnerability rather than a silent exploitation vector, so active monitoring of system stability is the primary detection method.

Why prioritize this

Prioritize this patch for systems that use VRF for network isolation, especially dynamic environments like Kubernetes. The CVSS score of 5.5 (MEDIUM) reflects local-only access and availability impact. However, the practical risk is elevated for infrastructure that frequently reconfigures VRF membership or operates in multi-tenant scenarios where availability is critical. Non-VRF deployments can deprioritize this, but VRF users should treat it as a near-term patch target.

Risk score, explained

CVSS 5.5 reflects attack vector local (L), no special conditions (AC:L), requires low privilege (L), no user interaction, confidentiality unaffected, integrity unaffected, but availability is high impact (A:H) due to kernel crash and system reboot. The score does not account for widespread use of VRF in modern cloud and container infrastructure, where availability disruption carries significant operational cost. Organizations heavily dependent on VRF should weight this higher than the base score suggests.

Frequently asked questions

Does this affect my system if I don't use VRF?

No. This vulnerability is specific to the VRF (Virtual Routing and Forwarding) subsystem. If your network configuration does not use VRF for interface isolation, this issue does not apply. Check your network configuration or consult your infrastructure team to determine if VRF is in use.

Can an unprivileged user exploit this?

Direct exploitation requires the ability to remove ports from a VRF, which normally requires CAP_NET_ADMIN privileges. In containerized environments with overly permissive capabilities or on shared systems with privilege escalation paths, risk is higher. However, typical unprivileged users cannot trigger this independently.

Will my system crash immediately after patching, or do I need to do something else?

No. Patching the kernel and rebooting to load the patched version is sufficient. There are no manual configuration changes, service restarts, or validation steps required. The fix simply adds proper synchronization and does not alter VRF behavior.

How do I know if my system is vulnerable?

Check your Linux kernel version against your distribution's security advisories. If your kernel version predates the patch release and your system uses VRF, assume vulnerability and prioritize patching. The vulnerability is not silently exploitable—it will manifest as a kernel crash with a distinctive NULL pointer dereference in the l3mdev code path.

This analysis is based on the CVE description and public information available as of the publication date. Patch version numbers, affected kernel versions, and availability timelines must be verified against your Linux distribution's official security advisories. SEC.co makes no warranty as to completeness or applicability to specific deployments. For environment-specific risk assessment, consult your distribution vendor or kernel maintainers. This vulnerability is not currently listed in the CISA KEV catalog and has no known public exploits at the time of publication. Source: NVD (public-domain), retrieved 2026-07-30. Analysis generated by SEC.co (claude-haiku-4-5).