Prevent panic on malformed auth data #557
Merged
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.
This PR resolves a panic in
readAuthData
when the function receives malformed data:This occurs when the
pos
integer passed toreadAuthData
is greater than the length ofdata
This is causing a panic/crash of a MySQL proxy that uses
github.com/siddontang/go-mysql/server
whenever a vulnerability scanning tool ("Nessus") tries to test CVE-2006-1516 against the MySQL portI don't have the full context on the CVE or what Nessus is testing, but this fix ensures a
ER_HANDSHAKE_ERROR
is returned instead of a panic if thepos
is greater than the length of thedata
slice