CVE-2026-52947 json
net: qrtr: fix refcount saturation and potential UAF in qrtr_port_remove
published 2026-06-24 4 mo ago modified 2026-10-19 20 d ago also EUVD-2026-38815
- cvss
- 7.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 1%
- public exploits
- 0
- none known
Summary
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.)
Patch / fix
- Linux Linux 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13, 7.1
- linux Debian 12 6.1.176-1
- linux Debian 13 6.12.94-1
- linux Debian 14 7.0.13-1
debian advisories DEBIAN-CVE-2026-52947
- linux Ubuntu 22.04 LTS 5.15.0-198.208
- linux Ubuntu 24.04 LTS 6.8.0-146.146
- linux Ubuntu 26.04 LTS 7.0.0-31.31
- linux-aws Ubuntu 22.04 LTS 5.15.0-1117.124
- linux-aws Ubuntu 24.04 LTS 6.8.0-1066.69
- linux-aws Ubuntu 26.04 LTS 7.0.0-1012.12
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1118.128
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1070.78
ubuntu advisories UBUNTU-CVE-2026-52947
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt RHEL 8 4.18.0-553.163.1.rt7.504.el8_10
- kernel-rt-kvm RHEL 8 4.18.0-553.163.1.rt7.504.el8_10
- kernel-rt-core RHEL 8 4.18.0-553.163.1.rt7.504.el8_10
- kernel-rt-modules RHEL 8 4.18.0-553.163.1.rt7.504.el8_10
- kernel-rt-debug-kvm RHEL 8 4.18.0-553.163.1.rt7.504.el8_10
- kernel-rt-debug-core RHEL 8 4.18.0-553.163.1.rt7.504.el8_10
- kernel-rt-debug-modules RHEL 8 4.18.0-553.163.1.rt7.504.el8_10
- kernel-rt-modules-extra RHEL 8 4.18.0-553.163.1.rt7.504.el8_10
red hat advisories RHSA-2026:67469RHSA-2026:67468RHSA-2026:67150RHSA-2026:65334
- kernel-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1
- kernel-syms-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1
- kernel-source-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.78.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.78.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.78.1
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.78.1
- kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.78.1
suse advisories SUSE-SU-2026:3810-1SUSE-SU-2026:3790-1SUSE-SU-2026:23244-1SUSE-SU-2026:23241-1SUSE-SU-2026:23194-1SUSE-SU-2026:23193-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.37.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.37.1
opensuse advisories openSUSE-SU-2026:21555-1
- kernel AlmaLinux 8 4.18.0-553.163.1.el8_10
- perf AlmaLinux 8 4.18.0-553.163.1.el8_10
- bpftool AlmaLinux 8 4.18.0-553.163.1.el8_10
- kernel-core AlmaLinux 8 4.18.0-553.163.1.el8_10
- kernel-tools AlmaLinux 8 4.18.0-553.163.1.el8_10
- python3-perf AlmaLinux 8 4.18.0-553.163.1.el8_10
- kernel-modules AlmaLinux 8 4.18.0-553.163.1.el8_10
- kernel-zfcpdump AlmaLinux 8 4.18.0-553.163.1.el8_10
almalinux advisories ALSA-2026:67468ALSA-2026:67469ALSA-2026:67150ALSA-2026:65334
- kernel-rt Rocky Linux 8 4.18.0-553.163.1.rt7.504.el8_10
- kernel Rocky Linux 8 4.18.0-553.163.1.el8_10
- kernel Rocky Linux 9 5.14.0-687.47.1.el9_8
- kernel Rocky Linux 10 6.12.0-211.53.1.el10_2
rocky linux advisories RLSA-2026:67469RLSA-2026:67468RLSA-2026:67150RLSA-2026:65334
- git.kernel.org/stable/c/2aa4c12723fe432e623462a3be42a197a128722b commit
- git.kernel.org/stable/c/03bfa95e452e2b6ccd76a332060ae4feaf5ad84d commit
- git.kernel.org/stable/c/474293d90880622fde9d2430fb0165767090f7b3 commit
- git.kernel.org/stable/c/2047c2aa0963bb2872fd722300a15bcb441a4c00 commit
- git.kernel.org/stable/c/7de2d447072be3b1a76793f034432338fc9c494b commit
- git.kernel.org/stable/c/ab269990ed58143a92a263be1bee626d82ac03da commit
- git.kernel.org/stable/c/3b20ec8f31e8a6a6782243f473b0abd3463621df commit
- git.kernel.org/stable/c/a2171131ecda1ed61a594a1eb715e75fdad0fef5 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-52947 updated cvss 4.7
kernel: net: qrtr: fix refcount saturation and potential UAF in qrtr_port_remove
-
Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 moreaffected: workaround, no fix available
-
Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-687.47.1.el9_8, perf 5.14.0-687.47.1.el9_8, rtla 5.14.0-687.47.1.el9_8, python3-perf 5.14.0-687.47.1.el9_8, kernel-devel-matched 5.14.0-687.47.1.el9_8, kernel-64k-devel-matched 5.14.0-687.47.1.el9_8, +7 morefixed: vendor fix RHSA-2026:67150
-
Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-211.53.1.el10_2, perf 6.12.0-211.53.1.el10_2, rtla 6.12.0-211.53.1.el10_2, python3-perf 6.12.0-211.53.1.el10_2, kernel-devel-matched 6.12.0-211.53.1.el10_2, kernel-64k-devel-matched 6.12.0-211.53.1.el10_2, +7 morefixed: vendor fix RHSA-2026:65334
-
Red Hat Enterprise Linux BaseOS (v. 8) perf 4.18.0-553.163.1.el8_10, kernel 4.18.0-553.163.1.el8_10, bpftool 4.18.0-553.163.1.el8_10, kernel-core 4.18.0-553.163.1.el8_10, kernel-tools 4.18.0-553.163.1.el8_10, python3-perf 4.18.0-553.163.1.el8_10, +15 morefixed: vendor fix RHSA-2026:67468
-
Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-687.47.1.el9_8, kernel-64k 5.14.0-687.47.1.el9_8, kernel-core 5.14.0-687.47.1.el9_8, kernel-tools 5.14.0-687.47.1.el9_8, kernel-modules 5.14.0-687.47.1.el9_8, kernel-64k-core 5.14.0-687.47.1.el9_8, +27 morefixed: vendor fix RHSA-2026:67150
-
Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-211.53.1.el10_2, kernel-64k 6.12.0-211.53.1.el10_2, kernel-core 6.12.0-211.53.1.el10_2, kernel-tools 6.12.0-211.53.1.el10_2, kernel-modules 6.12.0-211.53.1.el10_2, kernel-64k-core 6.12.0-211.53.1.el10_2, +28 morefixed: vendor fix RHSA-2026:65334
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-687.47.1.el9_8, kernel-debuginfo-common-s390x 5.14.0-687.47.1.el9_8, kernel-debuginfo-common-x86_64 5.14.0-687.47.1.el9_8, kernel-debuginfo-common-aarch64 5.14.0-687.47.1.el9_8, kernel-debuginfo-common-ppc64le 5.14.0-687.47.1.el9_8fixed: vendor fix RHSA-2026:67150
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-211.53.1.el10_2, kernel-debuginfo-common-s390x 6.12.0-211.53.1.el10_2, kernel-debuginfo-common-x86_64 6.12.0-211.53.1.el10_2, kernel-debuginfo-common-aarch64 6.12.0-211.53.1.el10_2, kernel-debuginfo-common-ppc64le 6.12.0-211.53.1.el10_2fixed: vendor fix RHSA-2026:65334
show 8 moreshow fewer
-
Red Hat Enterprise Linux CRB (v. 8) kernel-debuginfo-common-x86_64 4.18.0-553.163.1.el8_10, kernel-debuginfo-common-aarch64 4.18.0-553.163.1.el8_10, kernel-debuginfo-common-ppc64le 4.18.0-553.163.1.el8_10fixed: vendor fix RHSA-2026:67468
-
Red Hat Enterprise Linux NFV (v. 8) kernel-rt 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-kvm 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-core 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-modules 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-debug-kvm 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-debug-core 4.18.0-553.163.1.rt7.504.el8_10, +4 morefixed: vendor fix RHSA-2026:67469
-
Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-687.47.1.el9_8, kernel-rt-64k 5.14.0-687.47.1.el9_8, kernel-rt-core 5.14.0-687.47.1.el9_8, kernel-rt-modules 5.14.0-687.47.1.el9_8, kernel-rt-64k-core 5.14.0-687.47.1.el9_8, kernel-rt-debug-core 5.14.0-687.47.1.el9_8, +14 morefixed: vendor fix RHSA-2026:67150
-
Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-211.53.1.el10_2, kernel-rt-64k 6.12.0-211.53.1.el10_2, kernel-rt-core 6.12.0-211.53.1.el10_2, kernel-rt-modules 6.12.0-211.53.1.el10_2, kernel-rt-64k-core 6.12.0-211.53.1.el10_2, kernel-rt-debug-core 6.12.0-211.53.1.el10_2, +14 morefixed: vendor fix RHSA-2026:65334
-
Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-687.47.1.el9_8, kernel-rt-core 5.14.0-687.47.1.el9_8, kernel-rt-modules 5.14.0-687.47.1.el9_8, kernel-rt-debug-core 5.14.0-687.47.1.el9_8, kernel-rt-modules-core 5.14.0-687.47.1.el9_8, kernel-rt-debug-modules 5.14.0-687.47.1.el9_8, +4 morefixed: vendor fix RHSA-2026:67150
-
Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-211.53.1.el10_2, kernel-rt-core 6.12.0-211.53.1.el10_2, kernel-rt-modules 6.12.0-211.53.1.el10_2, kernel-rt-debug-core 6.12.0-211.53.1.el10_2, kernel-rt-modules-core 6.12.0-211.53.1.el10_2, kernel-rt-debug-modules 6.12.0-211.53.1.el10_2, +4 morefixed: vendor fix RHSA-2026:65334
-
Red Hat Enterprise Linux RT (v. 8) kernel-rt 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-core 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-modules 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-debug-core 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-debug-modules 4.18.0-553.163.1.rt7.504.el8_10, kernel-rt-modules-extra 4.18.0-553.163.1.rt7.504.el8_10, +2 morefixed: vendor fix RHSA-2026:67469
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-26-295-16 updated cvss 7.8
Siemens SIMATIC S7-1500 TM MFP
-
Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystemaffected: mitigation, no fix available
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 24 d ago
Exploit prediction
0.11% chance of exploitation in the next 30 days, higher than 1% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
- Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem
Classification
- Weakness
- Technology feeds
References
-
git.kernel.org
/stable/c/2aa4c12723fe432e623462a3be42a197a128722b
patch
-
git.kernel.org
/stable/c/03bfa95e452e2b6ccd76a332060ae4feaf5ad84d
patch
-
git.kernel.org
/stable/c/474293d90880622fde9d2430fb0165767090f7b3
patch
-
git.kernel.org
/stable/c/2047c2aa0963bb2872fd722300a15bcb441a4c00
patch
-
git.kernel.org
/stable/c/7de2d447072be3b1a76793f034432338fc9c494b
patch
-
git.kernel.org
/stable/c/ab269990ed58143a92a263be1bee626d82ac03da
patch
-
git.kernel.org
/stable/c/3b20ec8f31e8a6a6782243f473b0abd3463621df
patch
-
git.kernel.org
/stable/c/a2171131ecda1ed61a594a1eb715e75fdad0fef5
patch
- cert-portal.siemens.com /productcert/html/ssa-784472.html
Sources
- CVE List CVE-2026-52947
- NVD CVE-2026-52947
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.