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-90235

sunrpc: xprtsock: annotate shared socket callbacks with READ_ONCE/WRITE_ONCE
Back to all
CVE

CVE-2026-90235

sunrpc: xprtsock: annotate shared socket callbacks with READ_ONCE/WRITE_ONCE

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

sunrpc: xprtsock: annotate shared socket callbacks with READONCE/WRITEONCE

xprtsock replaces and restores sk->skdataready and

sk->skwritespace on live sockets with plain stores, and

xsudpdosetbuffersize() invokes sk->skwrite_space via a plain

load. These callback pointers are shared with generic socket and

protocol paths that may read or invoke them concurrently, so xprtsock

needs the same READONCE()/WRITEONCE() callback visibility contract

that the validated 4022 family applied elsewhere.

When SUNRPC takes over an AF_LOCAL, UDP, or TCP socket and later

restores the lower-socket callbacks during teardown, another CPU may

still hold an earlier callback snapshot. The plain replace/restore

pattern leaves the same visibility hole as the validated 4022 family,

so a stale snapshot can still invoke xsdataready() or

xsudpwrite_space() after the live callback fields have already been

restored to the lower-socket handlers.

Use WRITEONCE() for the shared skdataready and skwrite_space

stores in xslocalfinishconnecting(), xsudpfinishconnecting(),

xstcpfinishconnecting(), and xsrestoreoldcallbacks(). Use

READONCE() for the direct skwrite_space invocation in

xsudpdosetbuffer_size(). This matches the required callback

visibility contract while leaving adjacent skstatechange and

skerrorreport handling unchanged.

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/33930840b5f0a79f826e7c69dc6cd78f72a67481, https://git.kernel.org/stable/c/589f761236e05ff9de1bdfd6a5258f113e6457fe, https://git.kernel.org/stable/c/d8f0b83753809761a560c4b33249388548ba6e43, https://git.kernel.org/stable/c/da652cb17f9faeea1fa44b7215e8869a0b10b664, https://git.kernel.org/stable/c/ed80d009b154aa204f541d390884851b3d4f15ae, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90235.json, https://nvd.nist.gov/vuln/detail/CVE-2026-90235, 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.00618%
EPSS Percentile
0.48388%
Introduced Version
a246b0105bbd9a70a698f69baae2042996f2a0e9,2.6.15,6.7.0,6.13.0,6.19.0,0
Fix Available
33930840b5f0a79f826e7c69dc6cd78f72a67481,6.6.157,6.12.110,6.18.52,7.2.6,6.12.111-1~deb12u1,6.12.111-1,0:6.12.0-207.111.5.1.el9uek,0:6.12.0-207.111.5.1.el10uek,1:1.0-0.amzn2023,1:6.12.110-135.201.amzn2023

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading