[utils] fix buffer overflow in Pskc::SetSalt
#2072
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 commit addresses a potential buffer overflow vulnerability in the
Pskc::SetSalt
method.Root Issue:
The
Pskc::SetSalt
method copies data intomSalt
without sufficiently checking that the combined length of the data being copied (saltPrefix
,aExtPanId
,aNetworkName
) doesn't exceed the size ofmSalt
. This leads to a stack buffer overflow, which may cause stack corruption, resulting in undefined behavior and potential security risks.Fix:
mSalt
doesn't exceed its size.std::min
to copy only as much of the network name as can fit into the remaining space inmSalt
.This ensures that no buffer overflow occurs, thereby preventing stack corruption and potential security vulnerabilities.