Back to CVE records
High 7.8Published Jun 24, 2026

CVE-2026-53078bpf: Fix same-register dst/src OOB read and pointer leak in sock_ops

Updated under an hour ago ()

Does this affect you?

It affects Linux and 1 other product. Add what you run to find out whether that includes you.

No exploitation reported and no EPSS estimate yet.

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.

CVSS
7.8 HIGH (v3.1, CNA)CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness (CWE)
Not given
Known exploited
Not in CISA's KEV catalog
EPSS (exploitation in the next 30 days)
Not loaded for this CVE
Assigned by
Linux
NVD analysis
Modified
Record last updated
Oct 16, 2026
First seen by InfoSec Signals
Oct 9, 2026

Affected products

Affected products
Linux Linux
linux:linux (from the name)
from fd09af010788a884de1c39537c288830c3d305db before db1200ec2c3ddf119d4d9ba67982063df06bbacb; from fd09af010788a884de1c39537c288830c3d305db before 4c1c5efd9d1d74743d41ce4e1600501b4feb6827; from fd09af010788a884de1c39537c288830c3d305db before 0e6b30657bbc771f38025c828d722b6162428508; from fd09af010788a884de1c39537c288830c3d305db before 64eaf4ecda007140ddcdb28e00c48c9c69aaba39; from fd09af010788a884de1c39537c288830c3d305db before 2a2c98141e0a75f2d4a7d78b0316c88b3da784ac; from fd09af010788a884de1c39537c288830c3d305db before 22400725de070b787cd6d806c5795370ab46d269; from fd09af010788a884de1c39537c288830c3d305db before 18e3ffde1822f0b48b1753bf34aa97ce839df1d8; from fd09af010788a884de1c39537c288830c3d305db before 10f86a2a5c91fc4c4d001960f1c21abe52545ef6; and 8 more ranges
CNA record
linux linux_kernel
linux:linux_kernel
from 5.4.61 before 5.5; from 5.7.18 before 5.8; from 5.8.4 before 5.9; from 5.9.1 before 7.0.10; 5.9; 5.9; 5.9; 5.9; and 4 more ranges
NVD

References

  • patch
  • patch

The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.

Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.