CVE-2026-74610

CVE-2026-74610

High · published August 22, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.3
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

tls: don't leave a full plaintext sk_msg ring unpushed

When the copy path in tls_sw_sendmsg_locked() adds the fragment that fills

the plaintext sk_msg ring, it does not set full_record, so the record is

left full and unpushed. A later splice() then adds to an already full

ring: sk_msg_page_add() has no fullness check of its own, so sg.end wraps

onto sg.start and the ring appears empty. Fragments added after that

overwrite live entries, and sg.size no longer matches what is reachable

between sg.start and sg.end, so pushing the record runs the scatterwalk off

the end of the scatterlist.

An unprivileged user can trigger this on a loopback TCP socket with the

"tls" ULP attached:

BUG: kernel NULL pointer dereference, address: 0000000000000008

RIP: 0010:memcpy_from_scatterwalk+0x32/0xc0

Call Trace:

skcipher_walk_next+0x1d1/0x2c0

gcm_encrypt_aesni_avx+0x1e9/0x220

bpf_exec_tx_verdict+0x3bb/0x860

tls_sw_sendmsg+0xa1a/0xca0

__sys_sendto+0x1da/0x1f0

Set full_record in the copy path when the ring becomes full, and push a

record that is already full on entry to the sendmsg loop.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00129 · 2.3th percentile
Published
2026-08-22T20:16Z
References (5)
EPSS history
Timeline
  • 22 AUG 15:31Z
    tls: don't leave a full plaintext sk_msg ring unpushed
    cvelistv5