Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

CVE-2026-46289

lib/scatterlist: fix length calculations in extract_kvec_to_sg
Back to all
CVE

CVE-2026-46289

lib/scatterlist: fix length calculations in extract_kvec_to_sg

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

lib/scatterlist: fix length calculations in extractkvecto_sg

Patch series "Fix bugs in extractiterto_sg()", v3.

Fix bugs in the kvec and user variants of extractiterto_sg.  This series

is growing due to useful remarks made by sashiko.dev.

The main bugs are:

  • The length for an sglist entry when extracting from

  a kvec can exceed the number of bytes in the page. This

  is obviously not intended.

  • When extracting a user buffer the sglist is temporarily

  used as a scratch buffer for extracted page pointers.

  If the sglist already contains some elements this scratch

  buffer could overlap with existing entries in the sglist.

The series adds test cases to the kunitioviter test that demonstrate all

of these bugs.  Additionally, there is a memory leak fix for the test

itself.

The bugs were orignally introduced into kernel v6.3 where the function

lived in fs/netfs/iterator.c.  It was later moved to lib/scatterlist.c in

v6.5.  Thus the actual fix is only marked for backports to v6.5+.

This patch (of 5):

When extracting from a kvec to a scatterlist, do not cross page

boundaries.  The required length was already calculated but not used as

intended.

Adjust the copied length if the loop runs out of sglist entries without

extracting everything.

While there, return immediately from extractiterto_sg if there are no

sglist entries at all.

A subsequent commit will add kunit test cases that demonstrate that the

patch is necessary.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
9.8
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
-

Related Resources

No items found.

References

https://git.kernel.org/stable/c/07b7d66e65d9cfe6b9c2c34aa22cfcaac37a5c45, https://git.kernel.org/stable/c/3f17500e86d730c76db638bb3ae52f9b5e496c76, https://git.kernel.org/stable/c/8fbba6829057979149d1b37d65690c037f3ddf4d, https://git.kernel.org/stable/c/9d38756d0a93b66163554219fa9c3365f40c4035, https://git.kernel.org/stable/c/e5e22fc9963469e678c4f4bb38d26adcec107f1e, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46289.json, https://nvd.nist.gov/vuln/detail/CVE-2026-46289, https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Severity

9.8

CVSS Score
0
10

Basic Information

Base CVSS
9.8
EPSS Probability
0.00457%
EPSS Percentile
0.38147%
Introduced Version
0185846975339a5c348373aa450a977f5242366b,6.3.0,6.7.0,6.13.0,6.19.0,0
Fix Available
07b7d66e65d9cfe6b9c2c34aa22cfcaac37a5c45,6.6.140,6.12.88,6.18.30,7.0.7,6.12.88-1,6.8.0-134.134,6.8.0-1060.63,6.17.0-1019.19~24.04.1,6.8.0-1063.71,6.17.0-1021.21~24.04.1,6.8.0-1062.69,6.8.0-1063.69,6.17.0-1020.22~24.04.1,6.8.0-1058.64,6.8.0-1045.48,6.17.0-40.40~24.04.1,7.0.0-28.28~24.04.1,6.8.0-1060.61,6.8.0-134.134.1,6.8.0-1058.61,6.17.0-1026.26,6.8.0-1058.61.1,6.8.0-1029.30,6.17.0-1028.28,6.8.0-1057.58,6.17.0-1018.18~24.04.1,6.8.0-1060.64,6.8.0-1032.33,6.8.0-1060.63~22.04.1,6.8.0-1063.71~22.04.1,6.8.0-1062.69~22.04.1,6.8.0-1063.69~22.04.1,6.8.0-136.136~22.04.1,6.8.0-1060.61~22.04.1,6.8.0-134.134.1~22.04.1,6.8.0-1058.61~22.04.1,6.8.0-1057.58~22.04.1,6.8.0-134.134~22.04.1,1:6.12.88-119.157.amzn2023,1:1.0-0.amzn2023,1:6.18.30-61.116.amzn2023

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading