CVE-2026-31692 Overview
A missing capability check vulnerability exists in the Linux kernel's rtnetlink subsystem. The rtnl_newlink() function lacks a CAP_NET_ADMIN capability check on the peer network namespace when creating paired devices such as veth, vxcan, and netkit. This authorization bypass allows an unprivileged user with access to a user namespace to create network interfaces in arbitrary network namespaces, including the critical init_net namespace.
Critical Impact
Unprivileged users can bypass network namespace isolation boundaries and create interfaces in arbitrary namespaces, potentially compromising network segmentation and container security.
Affected Products
- Linux Kernel (multiple stable versions)
- Systems using veth, vxcan, or netkit paired network devices
- Container environments relying on network namespace isolation
Discovery Timeline
- 2026-04-30 - CVE CVE-2026-31692 published to NVD
- 2026-04-30 - Last updated in NVD database
Technical Details for CVE-2026-31692
Vulnerability Analysis
This vulnerability represents a Privilege Escalation and Authorization Bypass flaw in the Linux kernel's rtnetlink interface. The core issue stems from an incomplete capability check implementation in the rtnl_newlink() function. While the function properly validates CAP_NET_ADMIN capability in the caller's namespace, it fails to perform the same check against the peer network namespace when creating paired network devices.
Paired network devices like veth (virtual ethernet pairs), vxcan (virtual CAN pairs), and netkit create endpoints that span two network namespaces. When a user creates such a device, they should require administrative privileges in both the source and destination namespaces. The missing netlink_ns_capable() check for the peer namespace creates a privilege boundary violation.
Root Cause
The root cause is a missing netlink_ns_capable() call for CAP_NET_ADMIN validation against the peer network namespace in the rtnl_newlink() function. When creating paired devices, the kernel only verified capabilities in the requesting namespace, not the target peer namespace where the paired interface would be created.
Attack Vector
An attacker with access to a user namespace (commonly available in container environments or systems with unprivileged user namespace creation enabled) can exploit this vulnerability by:
- Creating a user namespace where they have CAP_NET_ADMIN privileges
- Using the rtnetlink interface to create a paired network device (veth, vxcan, or netkit)
- Specifying init_net or another privileged network namespace as the peer namespace
- Successfully creating an interface in the target namespace without proper authorization
This allows network device creation in protected namespaces, potentially enabling network traffic interception, container escape vectors, or disruption of network isolation boundaries.
The fix adds a netlink_ns_capable() check to verify CAP_NET_ADMIN capability in the peer namespace before allowing device creation to proceed. This ensures proper authorization is validated for both endpoints of paired network devices.
Detection Methods for CVE-2026-31692
Indicators of Compromise
- Unexpected network interfaces appearing in privileged network namespaces
- Audit logs showing netlink socket operations from user namespaces targeting external namespaces
- Unusual veth, vxcan, or netkit device creation patterns from unprivileged processes
- Container processes creating network devices outside their expected namespace scope
Detection Strategies
- Monitor /proc/net/dev for unexpected interface creation in critical namespaces
- Enable kernel auditing for netlink socket operations with NETLINK_ROUTE family
- Implement namespace-aware monitoring to detect cross-namespace device creation
- Deploy SentinelOne Singularity Platform for behavioral detection of namespace escape attempts
Monitoring Recommendations
- Enable CONFIG_AUDIT and configure audit rules for RTM_NEWLINK netlink messages
- Monitor for processes creating user namespaces followed by network device operations
- Track network namespace boundary crossings in containerized environments
- Implement runtime security monitoring for abnormal netlink API usage patterns
How to Mitigate CVE-2026-31692
Immediate Actions Required
- Apply the kernel patches from the stable kernel tree immediately
- Restrict unprivileged user namespace creation by setting kernel.unprivileged_userns_clone=0 where possible
- Review and audit existing network namespace configurations for unauthorized interfaces
- Consider implementing additional AppArmor or SELinux policies restricting netlink operations
Patch Information
Linux kernel developers have released fixes in multiple stable kernel branches. The patches add a netlink_ns_capable() check for CAP_NET_ADMIN in the peer namespace before allowing paired device creation. Apply the relevant patch for your kernel version:
Workarounds
- Disable unprivileged user namespace creation using sysctl: kernel.unprivileged_userns_clone=0
- Use Seccomp filters to restrict NETLINK_ROUTE socket operations from untrusted processes
- Implement container runtime policies that restrict network device creation capabilities
- Apply the no_new_privs flag to sensitive workloads to limit namespace capability escalation
# Disable unprivileged user namespaces as a workaround
echo 'kernel.unprivileged_userns_clone=0' >> /etc/sysctl.d/99-disable-userns.conf
sysctl -p /etc/sysctl.d/99-disable-userns.conf
# Verify the setting is applied
sysctl kernel.unprivileged_userns_clone
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


