Skip to main content
← All vulnerabilities
CVE-2026-68294

net: qrtr: restrict socket creation to the initial network namespace

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.265, 5.15.216, 6.1.183, 6.6.148, 6.12.101, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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).

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From bdabad3e363d825ddf9679dd431cca0b2c30f881 · fixed in 7814f6a3415cad38aa8d6dfc573df778260d66aa; From bdabad3e363d825ddf9679dd431cca0b2c30f881 · fixed in 2d22b94a154ccb9755dddfff802fe3e2b1adbab5; From bdabad3e363d825ddf9679dd431cca0b2c30f881 · fixed in 8d351fe0654a20c9f95a61b05d24ebe6d4be3fbb; From bdabad3e363d825ddf9679dd431cca0b2c30f881 · fixed in 4b95e1f0d6e6342c427cb341ee18a894b146b789; From bdabad3e363d825ddf9679dd431cca0b2c30f881 · fixed in f488116df769bdaf89c93371350e49e12133e70f; From bdabad3e363d825ddf9679dd431cca0b2c30f881 · fixed in 8150c48fb978e01689f94ed80148f8a7499ae571; From bdabad3e363d825ddf9679dd431cca0b2c30f881 · fixed in 659b9b4f194bb56b9903cc95e786ef1d438baa7d; From bdabad3e363d825ddf9679dd431cca0b2c30f881 · fixed in 3b536db8fb32da9e9c62f2bb45e2e319331f0426

  • Linux Linux

    4.7

  • KernelLinux

    From 4.7.0 · fixed in 5.10.265; From 5.11.0 · fixed in 5.15.216; From 5.16.0 · fixed in 6.1.183; From 6.2.0 · fixed in 6.6.148; From 6.7.0 · fixed in 6.12.101; From 6.13.0 · fixed in 6.18.42; From 6.19.0 · fixed in 7.1.6

References 8

git.kernel.org