7.8

CVE-2026-53078

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

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.
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
Linux ≫ Linux Kernel Version >= 5.4.61 < 5.5
Linux ≫ Linux Kernel Version >= 5.7.18 < 5.8
Linux ≫ Linux Kernel Version >= 5.8.4 < 5.9
Linux ≫ Linux Kernel Version >= 5.9.1 < 7.0.10
Linux ≫ Linux Kernel Version 5.9 Update -
Linux ≫ Linux Kernel Version 5.9 Update rc2
Linux ≫ Linux Kernel Version 5.9 Update rc3
Linux ≫ Linux Kernel Version 5.9 Update rc4
Linux ≫ Linux Kernel Version 5.9 Update rc5
Linux ≫ Linux Kernel Version 5.9 Update rc6
Linux ≫ Linux Kernel Version 5.9 Update rc7
Linux ≫ Linux Kernel Version 5.9 Update rc8
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.12% 0.021
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
416baaa9-dc9f-4396-8d5f-8c081fb06d67 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-125 Out-of-bounds Read

The product reads data past the end, or before the beginning, of the intended buffer.

https://git.kernel.org/stable/c/18e3ffde1822f0b48b1753bf34aa97ce839df1d8
Patch
https://git.kernel.org/stable/c/10f86a2a5c91fc4c4d001960f1c21abe52545ef6
Patch
https://git.kernel.org/stable/c/22400725de070b787cd6d806c5795370ab46d269
https://git.kernel.org/stable/c/2a2c98141e0a75f2d4a7d78b0316c88b3da784ac
https://git.kernel.org/stable/c/0e6b30657bbc771f38025c828d722b6162428508
https://git.kernel.org/stable/c/4c1c5efd9d1d74743d41ce4e1600501b4feb6827
https://git.kernel.org/stable/c/64eaf4ecda007140ddcdb28e00c48c9c69aaba39
https://git.kernel.org/stable/c/db1200ec2c3ddf119d4d9ba67982063df06bbacb