CVE-2026-80852 — tls: device: fix out-of-bounds write in tls_append_frag()
In the Linux kernel, the following vulnerability has been resolved: tls: device: fix out-of-bounds write in tls_append_frag() Found with syzkaller and a local syzbot instance running on top of a netdevsim TLS offload emulation; tls_device.c is otherwise only reachable on a machine with a NIC that implements the offload. tls_push_data() only checks whether the open record still has room for another frag at the bottom of its loop, and the MSG_MORE early break skips that check. The record survives to the next syscall with the frag count it already had, and tls_append_frag() does not check either, so with TLS_TX_ZEROCOPY_RO every splice(SPLICE_F_MORE) of a byte or two adds a non-coalescing pipe page and num_frags walks off the end of tls_record_info.frags[MAX_SKB_FRAGS]. Once the record is pushed, tls_push_record() runs the same index over sg_tx_data[MAX_SKB_FRAGS] and the sg_set_page() writes land on the destruct_work that follows it, which the workqueue then calls. The byte limit is fine because copy drops to 0 and the loop falls through to the same check; the frag count has no such feedback. Push the record rather than keep a full one open, which is what a plain TCP socket does - tcp_sendmsg_locked() uses tcp_mark_push() and new_segment in both the copy and the MSG_SPLICE_PAGES paths, and tls_sw already sets full_record when the sk_msg ring fills up, MSG_MORE or not. BUG: KASAN: slab-out-of-bounds in tls_append_frag ( net/tls/tls_device.c:269) Write of size 8 at addr ffff8881104d1530 by task tls_oob/450 CPU: 2 UID: 0 PID: 450 Comm: tls_oob Not tainted 7.2.0-rc7+ #329 PREEMPT Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) print_report (mm/kasan/report.c:378 mm/kasan/report.c:482) kasan_report (mm/kasan/report.c:595) tls_append_frag (net/tls/tls_device.c:269) tls_push_data (net/tls/tls_device.c:518) tls_device_sendmsg (net/tls/tls_device.c:583) inet_sendmsg (net/ipv4/af_inet.c:865) sock_sendmsg (net/socket.c:775 net/socket.c:790 net/socket.c:813) splice_to_socket (fs/splice.c:884) do_splice (fs/splice.c:936 fs/splice.c:1349) __do_splice (fs/splice.c:1431) __x64_sys_splice (fs/splice.c:1634 fs/splice.c:1616) do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) </TASK> and, once the record is pushed: UBSAN: array-index-out-of-bounds in net/tls/tls_device.c:300:24 index 18 is out of range for type 'skb_frag_t [17]' UBSAN: array-index-out-of-bounds in net/tls/tls_device.c:301:41 index 18 is out of range for type 'scatterlist [17]' UBSAN: array-index-out-of-bounds in net/tls/tls_device.c:302:39 index 18 is out of range for type 'scatterlist [17]' UBSAN: array-index-out-of-bounds in net/tls/tls_device.c:307:38 index 26 is out of range for type 'scatterlist [17]' kernel tried to execute NX-protected page - exploit attempt? (uid: 0) BUG: unable to handle page fault for address: ffffea000411a680 #PF: supervisor instruction fetch in kernel mode #PF: error_code(0x0011) - permissions violation Oops: Oops: 0011 [#1] SMP KASAN PTI Workqueue: ktls_device_destruct 0xffffea000411a680 RIP: 0010:0xffffea000411a680 Call Trace: <TASK> worker_thread (kernel/workqueue.c:3405 kernel/workqueue.c:3486) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245) </TASK>
Who exploits it and how urgent it is
A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.
How the score was calculated
- EPSS 0.2% (30-day exploitation probability)+1
The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.
Remediation
Fixes and mitigations documented by the sources — linked to the original advisory.
No fix documented by the sources we poll. That does not mean none exists: check the vendor advisory.
First 24 hours
Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.
- Identify exposed assets running the affected vendor/product/version combinations (Linux Linux).
- No fix documented in the sources: reduce exposure and monitor the vendor advisory.
- Search available logs for exploit probes, errors and authentication anomalies.
Affected scope
Vendor, product and versions as the sources word them.
| Vendor | Product | Versions | Status | Source |
|---|---|---|---|---|
| Linux | Linux |
≥ e8f69799810c32dd40c6724d829eccc70baad07f and < 03ced5da6120965d80ed56dbb7d78fa5c9128906≥ e8f69799810c32dd40c6724d829eccc70baad07f and < a832d7cb09da2a8e4e9734b4be14d3e76169d805≥ e8f69799810c32dd40c6724d829eccc70baad07f and < b7f10d4ff987bda038df90052cd4a1434a7412d4≥ e8f69799810c32dd40c6724d829eccc70baad07f and < fadbc1ed2a872a8649a44cf9e1cf9621fc58cd6e≥ e8f69799810c32dd40c6724d829eccc70baad07f and < cd7e875b89597f3498917af764758391338d1802≥ e8f69799810c32dd40c6724d829eccc70baad07f and < 7e1208c135618358da5d7d6664874dc6e53c62fc≥ e8f69799810c32dd40c6724d829eccc70baad07f and < b17cf742eaad70ae29ac558cefb3aa9bbeea03d4version 4.18 and 2 more≥ e8f69799810c32dd40c6724d829eccc70baad07f and < bc09411a11b5a676c59ff8612c6873d014f6fb36≥ e8f69799810c32dd40c6724d829eccc70baad07f and < 1fc6eb0c756b8be693b72e9e636ae5e236dcb6ee |
Vulnerable | CVE Program (cve.org) e CISA ADP |
EPSS over time FIRST
Oct 15, 2026 → Oct 29, 2026 · 14 reading(s) · max 0.16%
Detection
Read off the CVSS vector and the weakness class. Starting points, not tested rules.
- Not enough vector or weakness data: use the affected application’s logs as a starting point.
Timeline
What happened to this CVE, newest first.
- 2026
- Affected products added · linux/linux
- Record published
- Affected products added · linux/linux
- Source status changed · → Received
- Record created in this database
- CVE published
Source activity
Repeated readings are counted rather than listed.
- 2× References added · Oct 19, 2026 – Oct 30, 2026
- 1× Official description updated · Oct 15, 2026 – Oct 15, 2026
References
11 on the record
- git.kernel.org/stable/c/03ced5da6120965d80ed56dbb7d78fa5c9128906
- git.kernel.org/stable/c/b7f10d4ff987bda038df90052cd4a1434a7412d4
- git.kernel.org/stable/c/7e1208c135618358da5d7d6664874dc6e53c62fc
- git.kernel.org/stable/c/a832d7cb09da2a8e4e9734b4be14d3e76169d805
- git.kernel.org/stable/c/1fc6eb0c756b8be693b72e9e636ae5e236dcb6ee
- github.com/advisories/GHSA-3586-6wjw-9g84
- git.kernel.org/stable/c/bc09411a11b5a676c59ff8612c6873d014f6fb36
- git.kernel.org/stable/c/cd7e875b89597f3498917af764758391338d1802
- nvd.nist.gov/vuln/detail/CVE-2026-80852
- git.kernel.org/stable/c/fadbc1ed2a872a8649a44cf9e1cf9621fc58cd6e
- git.kernel.org/stable/c/b17cf742eaad70ae29ac558cefb3aa9bbeea03d4
Elsewhere on this site
Related CVEs (same products)
- Unknown CVE-2026-99216 Drivers: hv: Don't reset VMBus connection state on error/exit paths 2d
- Unknown CVE-2026-99215 power: supply: core: prevent unregistering a power supply while a callback runs 2d
- Unknown CVE-2026-99207 scsi: target: Disable interrupts while holding delayed_cmd_lock 2d
- Unknown CVE-2026-99208 drm/xe/oa: Zero OA buffer at allocation 2d
- Unknown CVE-2026-99209 drm/xe: skip eviction of a BO with no resource 2d
- Unknown CVE-2026-99210 accel/rocket: clear rdev on device init failure 2d
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No CVSS score published by NVD, the CNA, CISA or GitHub so far.
- No fixed version, patch or mitigation documented.
- No CISA SSVC assessment.
- No CWE classification.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.
Answered from this record
Text assembled only from the fields above — no additional claims.
What should defenders know first?
CVE-2026-80852 is "tls: device: fix out-of-bounds write in tls_append_frag()", rated Unknown. It affects Linux (Linux); versions are in the scope table. It is not in CISA KEV, which does not rule out exploitation. EPSS 0.16% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.
Comments
Moderated technical discussion. Read the community guidelines.
No comments yet.
Sign in or create an account to comment and suggest corrections.