CVE-2026-53078 json
bpf: Fix same-register dst/src OOB read and pointer leak in sock_ops
published 4mo ago modified 23d ago also EUVD-2026-38946
- 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:
bpf: Fix same-register dst/src OOB read and pointer leak in sock_ops
When a BPF sock_ops program accesses ctx fields with dst_reg == src_reg, the SOCK_OPS_GET_SK() and SOCK_OPS_GET_FIELD() macros fail to zero the destination register in the !fullsock / !locked_tcp_sock path.
Both macros borrow a temporary register to check is_fullsock / is_locked_tcp_sock when dst_reg == src_reg, because dst_reg holds the ctx pointer. When the check is false (e.g., TCP_NEW_SYN_RECV state with a request_sock), dst_reg should be zeroed but is not, leaving the stale ctx pointer:
- SOCK_OPS_GET_SK: dst_reg retains the ctx pointer, passes NULL checks as PTR_TO_SOCKET_OR_NULL, and can be used as a bogus socket pointer, leading to stack-out-of-bounds access in helpers like bpf_skc_to_tcp6_sock().
- SOCK_OPS_GET_FIELD: dst_reg retains the ctx pointer which the verifier believes is a SCALAR_VALUE, leaking a kernel pointer.
Fix both macros by: - Changing JMP_A(1) to JMP_A(2) in the fullsock path to skip the added instruction. - Adding BPF_MOV64_IMM(si->dst_reg, 0) after the temp register restore in the !fullsock path, placed after the restore because dst_reg == src_reg means we need src_reg intact to read ctx->temp.
Patch / fix
- Linux Linux 5.5, 5.8, 5.9, 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.101, 6.18.42, 7.0.10, 7.1
- linux Debian 12 6.1.190-1
- linux Debian 13 6.12.101-1
- linux Debian 14 7.0.10-1
- linux-6.12 Debian 12 6.12.101-1~deb12u1
debian advisories DEBIAN-CVE-2026-53078
- linux Ubuntu 22.04 LTS 5.15.0-202.212
- linux Ubuntu 24.04 LTS 6.8.0-147.147
- linux Ubuntu 26.04 LTS 7.0.0-28.28
- linux-aws Ubuntu 22.04 LTS 5.15.0-1119.126
- linux-aws Ubuntu 24.04 LTS 6.8.0-1067.70
- linux-aws Ubuntu 26.04 LTS 7.0.0-1009.9
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1120.130
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1071.79
ubuntu advisories UBUNTU-CVE-2026-53078
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-source Linux Micro 6.1, Linux Micro 6.0 6.4.0-50.2
- kernel-default Linux Micro 6.1, Linux Micro 6.0 6.4.0-50.1
- kernel-kvmsmall Linux Micro 6.1, Linux Micro 6.0 6.4.0-50.1
- kernel-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-50.1
- kernel-source-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-50.2
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.73.2
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.73.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.73.2
suse advisories SUSE-SU-2026:22810-1SUSE-SU-2026:22809-1SUSE-SU-2026:22904-1SUSE-SU-2026:22903-1SUSE-SU-2026:3166-1SUSE-SU-2026:22742-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.36.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.36.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.36.1
opensuse advisories openSUSE-SU-2026:21388-1
- git.kernel.org/stable/c/db1200ec2c3ddf119d4d9ba67982063df06bbacb commit
- git.kernel.org/stable/c/4c1c5efd9d1d74743d41ce4e1600501b4feb6827 commit
- git.kernel.org/stable/c/0e6b30657bbc771f38025c828d722b6162428508 commit
- git.kernel.org/stable/c/64eaf4ecda007140ddcdb28e00c48c9c69aaba39 commit
- git.kernel.org/stable/c/2a2c98141e0a75f2d4a7d78b0316c88b3da784ac commit
- git.kernel.org/stable/c/22400725de070b787cd6d806c5795370ab46d269 commit
- git.kernel.org/stable/c/18e3ffde1822f0b48b1753bf34aa97ce839df1d8 commit
- git.kernel.org/stable/c/10f86a2a5c91fc4c4d001960f1c21abe52545ef6 commit
Is CVE-2026-53078 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor 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-53078 updated cvss 7.1
kernel: bpf: Fix same-register dst/src OOB read and pointer leak in sock_ops
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelaffected: workaround, no fix available
-
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 SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 26d ago
Exploit prediction
0.12% chance of exploitation in the next 30 days, higher than 1% of all scored CVEs (FIRST EPSS, 2026-11-11).
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
Classification
- Weakness
-
- CWE-125 Out-of-bounds Read
- Technology feeds
References
- git.kernel.org /stable/c/db1200ec2c3ddf119d4d9ba67982063df06bbacb
- git.kernel.org /stable/c/4c1c5efd9d1d74743d41ce4e1600501b4feb6827
- git.kernel.org /stable/c/0e6b30657bbc771f38025c828d722b6162428508
- git.kernel.org /stable/c/64eaf4ecda007140ddcdb28e00c48c9c69aaba39
- git.kernel.org /stable/c/2a2c98141e0a75f2d4a7d78b0316c88b3da784ac
- git.kernel.org /stable/c/22400725de070b787cd6d806c5795370ab46d269
-
git.kernel.org
/stable/c/18e3ffde1822f0b48b1753bf34aa97ce839df1d8
patch
-
git.kernel.org
/stable/c/10f86a2a5c91fc4c4d001960f1c21abe52545ef6
patch
Sources
- CVE List CVE-2026-53078
- NVD CVE-2026-53078
Fencer Intel 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.