CVE-2026-63830

net: skmsg: preserve sg.copy across SG transforms

State
Published
Severity
9.4 Critical
Published
Jul 19, 2026
Updated
Oct 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.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.

Scores

CVSSScoreVectorSource
3.19.4 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:LLinux

Weaknesses

  • CWE-269 Improper Privilege Management

Affected Products

ProductVersions
LinuxLinux
  • d3b18ad31f93d0b6bae105c679018a1ba7daa9ca to before f126eed589eec6f201405abbc398844042ef6d57Affected
  • d3b18ad31f93d0b6bae105c679018a1ba7daa9ca to before 31a110642b5fb5e61940cbcfb503445ac4f28017Affected
  • d3b18ad31f93d0b6bae105c679018a1ba7daa9ca to before 9bb86d8184b37503816150c4a6ad3c17dfdbe827Affected
  • d3b18ad31f93d0b6bae105c679018a1ba7daa9ca to before 0eb4c16c4adb262763bda870a8ed38a1a9dec7ecAffected
  • d3b18ad31f93d0b6bae105c679018a1ba7daa9ca to before d22cc92bc41290e5783a72375e0843d9435f6001Affected
  • d3b18ad31f93d0b6bae105c679018a1ba7daa9ca to before 1acdd14c0990dd1cd4b6534f00366d2e6dfce05fAffected
  • d3b18ad31f93d0b6bae105c679018a1ba7daa9ca to before 21ed9540a8e1906dfcbc1bb82ba9b4de4fa4bd6dAffected
  • d3b18ad31f93d0b6bae105c679018a1ba7daa9ca to before 406e8a651a7b854c41fecd5117bb282b3a6c2c6bAffected
LinuxLinux
  • 4.20Affected
  • before 4.20Not affected
  • 5.10.261 through 5.10.*Not affected
  • 5.15.212 through 5.15.*Not affected
  • 6.1.177 through 6.1.*Not affected
  • 6.6.144 through 6.6.*Not affected
  • 6.12.95 through 6.12.*Not affected
  • 6.18.38 through 6.18.*Not affected
  • 7.1.3 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.