KernelScan.io

HIGH Introduced in 4.7

qrtr Namespace Bypass

CVE-2026-68294

CVSS 8.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

KernelScan AI7.8HIGH

01

In the Linux kernel, the following vulnerability has been resolved: net: qrtr: restrict socket creation to the initial network namespace QRTR keeps its entire port and node state in module-global variables that are not partitioned per network namespace: qrtr_local_nid is a single global node id (always 1) and qrtr_ports is a single global xarray. qrtr_port_lookup() and qrtr_local_enqueue() operate on that global state with no network-namespace check, and qrtr_create() places no restriction on the namespace a socket is created in. As a result an unprivileged process that creates an AF_QIPCRTR socket in a separate network namespace, e.g. via unshare(CLONE_NEWUSER | CLONE_NEWNET), can send QRTR datagrams - including control-plane messages such as QRTR_TYPE_NEW_SERVER - to QRTR sockets owned by another namespace, and vice versa. The receiving socket sees such a message as coming from node id 1, indistinguishable from a legitimate local client, breaking the isolation that network namespaces are expected to provide. QRTR is a transport to global hardware endpoints (the modem and other remote processors) and has no per-namespace semantics; its in-kernel name service already creates its socket in init_net only. Confine the socket family to the initial network namespace, as other non-namespace-aware socket families do (see llc_ui_create() and the ieee802154 socket code).

02

Engine v0.6.0

Risk summary

An unprivileged local user can create a QRTR socket in a user-created network namespace and send control-plane messages to sockets in other namespaces, breaking network namespace isolation. This allows cross-namespace communication and potential interference with modem/remote-processor services. The fix restricts QRTR socket creation to the initial network namespace only.

Affectednet/qrtr/af_qrtr.c (qrtr)

Vulnerability analysis

The QRTR IPC router protocol keeps all port and node state in module-global variables that are not partitioned per network namespace, but socket creation was allowed from any namespace. An unprivileged process that creates a new network namespace via user namespaces can open a QRTR socket and send datagrams—including control-plane messages like new-server announcements—to QRTR sockets in other namespaces, which appear indistinguishable from legitimate local clients. This breaks the isolation guarantee that network namespaces are supposed to provide. The fix restricts QRTR socket creation to the initial network namespace only, preventing non-init namespaces from reaching the global QRTR control plane. The vulnerability is reachable by any unprivileged local user on systems where user namespaces are enabled and the QRTR module is loaded (typically Qualcomm-based platforms with modem/remote-processor communication).

03

BranchIntroducedFixed inPatch commit
5.104.75.10.2657814f6a3415c
5.154.75.15.2162d22b94a154c
6.64.76.6.1484b95e1f0d6e6
7.14.77.1.6659b9b4f194b
mainline4.77.23b536db8fb32
6.184.76.18.428150c48fb978
6.14.76.1.1838d351fe0654a
6.124.76.12.101f488116df769