Repository navigation
sftp: bound reply lengths before client allocs - #1334
Open
ejohnstown wants to merge 1 commit into
Open
ejohnstown wants to merge 1 commit into
ejohnstown wants to merge 1 commit into
Conversation
SFTP_GetHeader now takes a limit from its caller and refuses a declared body over it, or one too short to hold the header, with WS_BUFFER_E. Every client reply handler allocated a buffer of the peer-declared size first, so one 9-byte header could make the client allocate 2 GiB. - STATUS, ATTRS and HANDLE replies are held to WOLFSSH_MAX_SFTP_PACKET - NAME keeps WOLFSSH_MAX_SFTP_NAME; DoName's own check moves into the call - a READ reply may also be as large as the caller's buffer plus its length prefix - SendWritePacket keeps an error already set instead of WS_SFTP_BAD_HEADER - regress test drives all eleven client calls at and past the bound Issue: F-10598, F-13430, F-14433
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The SFTP client bounds a reply's declared length before allocating for
it. Each reply handler allocated whatever size the server's header
declared, so one 9-byte header could make the client allocate 2 GiB.
for most replies, WOLFSSH_MAX_SFTP_NAME for NAME, the caller's buffer
for READ; SendWritePacket keeps that error instead of a generic one.
Issue: F-10598, F-13430, F-14433