Fix buffer check error of p_additional_MACtext_length #313
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.
As claimed in the developer's reference,
sgx_unmac_aadata
andsgx_unseal_data
accept an argumentp_additional_MACtext_length
which is auint32_t *
and points to the length of the additional mac text length (uint32_t
). These two functions check if the length arg is within the enclave memory area, which is essential. However, the check codes invokingsgx_is_within_enclave
andsgx_is_outside_enclave
set the length of buffer to 8 which issizeof(uint32_t *)
instead of 4 which issizeof(uint32_t)
. Obviously, it is a logic error. It should only check 4 bytes instead of 8. Patch and immediate upgrade are desired.Signed-off-by: Yu Ding dingelish@gmail.com