-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tee_svc_cryp.c lacks accessibility checks on user-supplied TEE_Attributes #161
Comments
jforissier
added a commit
to jforissier/optee_os
that referenced
this issue
Dec 19, 2014
Fixes OP-TEE#161. Services that take a TEE_Attribute array for input must check that the memory is readable before using it. This is accomplished by check_attr_read_access(), which is either called directly by the system service or by tee_svc_cryp_check_attr(). Buffers pointed to by 'reference' attributes are also validated. Then, it is no longer necessary to check accessibility in other functions such as tee_svc_cryp_obj_store_attr_raw(). Signed-off-by: Jerome Forissier <[email protected]>
jforissier
added a commit
to jforissier/optee_os
that referenced
this issue
Feb 12, 2015
Fixes OP-TEE#161. Services that take a TEE_Attribute array for input must check that the memory is readable before using it. This is accomplished by check_attr_read_access(), which is either called directly by the system service or by tee_svc_cryp_check_attr(). Buffers pointed to by 'reference' attributes are also validated. Then, it is no longer necessary to check accessibility in other functions such as tee_svc_cryp_obj_store_attr_raw(). Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Jens Wiklander <[email protected]> Reviewed-by: Pascal Brand <[email protected]>
jforissier
added a commit
to jforissier/optee_os
that referenced
this issue
Feb 12, 2015
Fixes OP-TEE#161. Services that take a TEE_Attribute array for input must check that the memory is readable before using it. This is accomplished by check_attr_read_access(), which is either called directly by the system service or by tee_svc_cryp_check_attr(). Buffers pointed to by 'reference' attributes are also validated. Then, it is no longer necessary to check accessibility in other functions such as tee_svc_cryp_obj_store_attr_raw(). Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Jens Wiklander <[email protected]> Reviewed-by: Pascal Brand <[email protected]>
This issue was closed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The crypto services does not always properly check the parameters of type
TEE_Attribute
. For instance:The memory range
[params, params + param_count*sizeof(TEE_Attribute)]
needs to be validated withtee_mmu_check_access_rights()
. And, any attribute of type 'reference' within those parameters should be validated before access too.The text was updated successfully, but these errors were encountered: