From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-cve-announce@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@kernel.org>
Subject: CVE-2026-63830: net: skmsg: preserve sg.copy across SG transforms
Date: Sun, 19 Jul 2026 14:02:47 +0200 [thread overview]
Message-ID: <2026071908-CVE-2026-63830-1297@gregkh> (raw)
From: Greg Kroah-Hartman <gregkh@kernel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
net: skmsg: preserve sg.copy across SG transforms
The sk_msg sg.copy bitmap is part of the scatterlist entry ownership
state. A set bit tells sk_msg_compute_data_pointers() not to expose the
entry through writable BPF ctx->data. This protects entries backed by
pages that are not private to the sk_msg, such as splice-backed file
page-cache pages.
Several sk_msg transform paths move, copy, split, or compact
msg->sg.data[] entries without moving the matching sg.copy bit. This can
make an externally backed entry arrive at a new slot with a clear copy
bit. A later SK_MSG verdict can then expose sg_virt(sge) as writable
ctx->data and BPF stores can modify the original page cache.
Keep sg.copy synchronized with sg.data[] whenever entries are
transferred, shifted, split, or copied into a new sk_msg. Clear the bit
when an entry is replaced by a newly allocated private page or freed.
This covers the BPF pull/push/pop helpers, sk_msg_shift_left/right(),
sk_msg_xfer(), and tls_split_open_record(), including the partial tail
entry created during TLS open-record splitting.
The Linux kernel CVE team has assigned CVE-2026-63830 to this issue.
Affected and fixed versions
===========================
Issue introduced in 4.20 with commit d3b18ad31f93d0b6bae105c679018a1ba7daa9ca and fixed in 6.1.177 with commit 9bb86d8184b37503816150c4a6ad3c17dfdbe827
Issue introduced in 4.20 with commit d3b18ad31f93d0b6bae105c679018a1ba7daa9ca and fixed in 6.6.144 with commit 0eb4c16c4adb262763bda870a8ed38a1a9dec7ec
Issue introduced in 4.20 with commit d3b18ad31f93d0b6bae105c679018a1ba7daa9ca and fixed in 6.12.95 with commit d22cc92bc41290e5783a72375e0843d9435f6001
Issue introduced in 4.20 with commit d3b18ad31f93d0b6bae105c679018a1ba7daa9ca and fixed in 6.18.38 with commit 1acdd14c0990dd1cd4b6534f00366d2e6dfce05f
Issue introduced in 4.20 with commit d3b18ad31f93d0b6bae105c679018a1ba7daa9ca and fixed in 7.1.3 with commit 21ed9540a8e1906dfcbc1bb82ba9b4de4fa4bd6d
Issue introduced in 4.20 with commit d3b18ad31f93d0b6bae105c679018a1ba7daa9ca and fixed in 7.2-rc1 with commit 406e8a651a7b854c41fecd5117bb282b3a6c2c6b
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2026-63830
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
include/linux/skmsg.h
net/core/filter.c
net/core/skmsg.c
net/tls/tls_sw.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/9bb86d8184b37503816150c4a6ad3c17dfdbe827
https://git.kernel.org/stable/c/0eb4c16c4adb262763bda870a8ed38a1a9dec7ec
https://git.kernel.org/stable/c/d22cc92bc41290e5783a72375e0843d9435f6001
https://git.kernel.org/stable/c/1acdd14c0990dd1cd4b6534f00366d2e6dfce05f
https://git.kernel.org/stable/c/21ed9540a8e1906dfcbc1bb82ba9b4de4fa4bd6d
https://git.kernel.org/stable/c/406e8a651a7b854c41fecd5117bb282b3a6c2c6b
reply other threads:[~2026-07-19 12:04 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2026071908-CVE-2026-63830-1297@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=cve@kernel.org \
--cc=gregkh@kernel.org \
--cc=linux-cve-announce@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.