Skip to content

net_nfs3: stop bitmap walks after truncated replies - #19974

Open
acts-1631 wants to merge 1 commit into
libretro:masterfrom
acts-1631:nfs4-bitmap-bounds
Open

acts-1631 wants to merge 1 commit into
libretro:masterfrom
acts-1631:nfs4-bitmap-bounds

Conversation

@acts-1631

Copy link
Copy Markdown
Contributor

NFSv4 bitmap word counts in fattr4 and OPEN replies come from the
server. nfs4_get_fattr() and nfs4_open_create() keep decrementing the
declared count after the XDR cursor has failed, so a short malicious
reply with a maximum count forces billions of iterations and stalls the
frontend.

Stop the bitmap walks when the cursor fails, matching the existing safe
nfs4_open_reclaim() path. This preserves support for extra bitmap words
while bounding the work to bytes actually received.

NFSv4 bitmap word counts come from the server. Once an XDR cursor
failed, two loops kept decrementing the declared count, allowing a
short reply to consume billions of iterations.

Stop both walks on cursor failure, matching the existing reclaim path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant