7.8

CVE-2026-52947: net: qrtr: fix refcount saturation and potential UAF in qrtr_port_remove

Modified
AliasesUBUNTU-CVE-2026-52947DEBIAN-CVE-2026-52947
Published 24-06-2026Last modified 19-10-2026

Vulnerability summary

CVE-2026-52947 is a high (CVSS 7.8) Use After Free vulnerability in linux. EPSS estimates a 0.11% chance of exploitation in the next 30 days, higher than 1.1% of scored vulnerabilities.

Priority
Routine

Not severe (CVSS 7.8, local access); no exploitation reported by the 5 checked sources

Source freshness unavailable

How is this decided?
CVSS score
7.8/10
010
High · v3.1 (CVE.org)
EPSS score
0.11%
0%100%
Low · -0.03 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 41 · Related 36

Timeline

  1. 24-06-2026
    PublishedVulnerability first disclosed.
  2. 19-10-2026
    Last modifiedVulnerability information updated.

Description

In the Linux kernel, the following vulnerability has been resolved: net: qrtr: fix refcount saturation and potential UAF in qrtr_port_remove In qrtr_port_remove(), the socket reference count is decremented via __sock_put() before the port is removed from the qrtr_ports XArray and before the RCU grace period elapses. This breaks the fundamental RCU update paradigm. It exposes a race window where a concurrent RCU reader (such as qrtr_reset_ports() or qrtr_port_lookup()) can obtain a pointer to the socket from the XArray, and attempt to call sock_hold() on a socket whose reference count has already dropped to zero. This exact race condition was hit during syzkaller fuzzing, leading to the following refcount saturation warning and a potential Use-After-Free: refcount_t: saturated; leaking memory. WARNING: CPU: 3 PID: 1273 at lib/refcount.c:22 refcount_warn_saturate+0xae/0x1d0 Modules linked in: qrtr(+) bochs drm_shmem_helper ... Call Trace: <TASK> qrtr_reset_ports net/qrtr/af_qrtr.c:768 [inline] [qrtr] __qrtr_bind.isra.0+0x48b/0x570 net/qrtr/af_qrtr.c:805 [qrtr] qrtr_bind+0x17d/0x210 net/qrtr/af_qrtr.c:901 [qrtr] kernel_bind+0xe4/0x120 net/socket.c:3592 qrtr_ns_init+0x1a6/0x380 net/qrtr/ns.c:715 [qrtr] qrtr_proto_init+0x3b/0xff0 net/qrtr/af_qrtr.c:169 [qrtr] do_one_initcall+0xf5/0x5e0 init/main.c:1283 ... </TASK> Fix this by deferring the reference count decrement until after the xa_erase() and the synchronize_rcu() complete. (Note: The v1 of this patch incorrectly replaced __sock_put() with sock_put(). As Simon Horman pointed out, the callers of qrtr_port_remove() still hold a reference to the socket, so freeing the socket memory here would lead to a subsequent UAF in the caller. Thus, the __sock_put() is kept, but only repositioned to close the RCU race.)

CVSS metrics

4 scores · 4 sources · 1 version

EPSS trend

Probability

0.11%

Chance of exploitation in the next 30 days

Percentile

1%

Versus all other CVEs

30-day change

Decrease -0.03 pp

From 0.14% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Version check

Known conditions: local access, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.

Ubuntu167 products
  • linuxAll versions (No fix recorded) | < 5.15.0-198.208 | < 6.8.0-146.146 | < 7.0.0-31.31
  • linux-allwinner-5.19All versions (No fix recorded)
  • linux-awsAll versions (No fix recorded) | < 5.15.0-1117.124 | < 6.8.0-1066.69 | < 7.0.0-1012.12
  • linux-aws-5.0All versions (No fix recorded)
  • linux-aws-5.11All versions (No fix recorded)
Linux2 products
  • linux≥ bdabad3e363d825ddf9679dd431cca0b2c30f881, < 2aa4c12723fe432e623462a3be42a197a128722b | ≥ bdabad3e363d825ddf9679dd431cca0b2c30f881, < 03bfa95e452e2b6ccd76a332060ae4feaf5ad84d | ≥ bdabad3e363d825ddf9679dd431cca0b2c30f881, < 474293d90880622fde9d2430fb0165767090f7b3 | ≥ bdabad3e363d825ddf9679dd431cca0b2c30f881, < 2047c2aa0963bb2872fd722300a15bcb441a4c00 | ≥ bdabad3e363d825ddf9679dd431cca0b2c30f881, < 7de2d447072be3b1a76793f034432338fc9c494b | ≥ bdabad3e363d825ddf9679dd431cca0b2c30f881, < ab269990ed58143a92a263be1bee626d82ac03da | ≥ bdabad3e363d825ddf9679dd431cca0b2c30f881, < 3b20ec8f31e8a6a6782243f473b0abd3463621df | ≥ bdabad3e363d825ddf9679dd431cca0b2c30f881, < a2171131ecda1ed61a594a1eb715e75fdad0fef5 | 4.7
  • linux_kernel≥ 4.7, < 5.10.259 | ≥ 5.11, < 5.15.210 | ≥ 5.16, < 6.1.176 | ≥ 6.2, < 6.6.143 | ≥ 6.7, < 6.12.94 | ≥ 6.13, < 6.18.36 | ≥ 6.19, < 7.0.13 | 7.1:rc1 | 7.1:rc2 | 7.1:rc3 | 7.1:rc4 | 7.1:rc5 | 7.1:rc6 | 7.1:rc7
Debian1 product
  • linux< 6.1.176-1 | < 6.12.94-1 | < 7.0.13-1

3 vendors · 170 products

References

38 links
Show all 38 references