CVE-2023-53083

nfsd: don't replace page in rq_pages if it's a continuation of last page

MEDIUM
5.5
CVSS Score
Published: May 2, 2025 at 03:55 PM UTC
Updated: August 5, 2026 at 10:24 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.5%

Description

In the Linux kernel, the following vulnerability has been resolved: nfsd: don't replace page in rq_pages if it's a continuation of last page The splice read calls nfsd_splice_actor to put the pages containing file data into the svc_rqst->rq_pages array. It's possible however to get a splice result that only has a partial page at the end, if (e.g.) the filesystem hands back a short read that doesn't cover the whole page. nfsd_splice_actor will plop the partial page into its rq_pages array and return. Then later, when nfsd_splice_actor is called again, the remainder of the page may end up being filled out. At this point, nfsd_splice_actor will put the page into the array _again_ corrupting the reply. If this is done enough times, rq_next_page will overrun the array and corrupt the trailing fields -- the rq_respages and rq_next_page pointers themselves. If we've already added the page to the array in the last pass, don't add it to the array a second time when dealing with a splice continuation. This was originally handled properly in nfsd_splice_actor, but commit 91e23b1c3982 ("NFSD: Clean up nfsd_splice_actor()") removed the check for it.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.19 ≤ v < 6.1.225.19 ≤ v < 6.2.95.19 ≤ v < 6.36.2 ≤ v < 6.2.956bc7e3821e847a6cc8027ddaba32e9a440225a56.3 rc16.3 rc26.3 rc391e23b1c39820bfed642119ff6b6ef9f43cf09cebf1cbe2f3650b4f4a8add6af933c6d7f6af1f361
Vendor states this is fixed in 0101067f376eb7b9afd00279270f25d5111a091d (fixed)
Vendor states this is fixed in 12eca509234acb6b666802edf77408bb70d7bfca (fixed)
Vendor states this is fixed in 27c934dd8832dd40fd34776f916dc201e18b319b (fixed)
Vendor states this is fixed in 51ddb84baff6f09ad62b5999ece3ec172e4e3568 (fixed)
Vendor states this is fixed in 8235cd619db6e67f1d7d26c55f1f3e4e575c947d (fixed)
Vendor states this is fixed in 5.19 (unaffected)
Vendor states this is fixed in 6.1.22 (unaffected)
Vendor states this is fixed in 6.2.9 (unaffected)
Vendor states this is fixed in 6.3 (unaffected)

References (5)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0101067f376eb7b9afd00279270f25d5111a091d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/12eca509234acb6b666802edf77408bb70d7bfca
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/27c934dd8832dd40fd34776f916dc201e18b319b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/51ddb84baff6f09ad62b5999ece3ec172e4e3568
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8235cd619db6e67f1d7d26c55f1f3e4e575c947d

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card