With inconsistent or malformed data it has been possible to call “update” and “final” crypto functions directly. Using a fuzzer tool [1] we have seen that this results in asserts, i.e., a crash that potentially could leak sensitive information.
By setting the state (initialized) in the crypto context (i.e., the teecryp_state
) at the end of all syscall*_init
functions and then add a check of the state at the beginning of all update and final functions, we prevent direct entrance to the “update” and “final” functions.
Patches
optee_os.git
- cryp: prevent direct calls to update and final functions (34a08be)
Workarounds
N/A
References
[1] https://github.com/MartijnB/optee_fuzzer
OP-TEE ID
OP-TEE-2019-0021
Reported by
Riscure
For more information
For more information regarding the security incident process in OP-TEE, please read the information that can be found when going to the "Security" page at https://www.trustedfirmware.org.
With inconsistent or malformed data it has been possible to call “update” and “final” crypto functions directly. Using a fuzzer tool [1] we have seen that this results in asserts, i.e., a crash that potentially could leak sensitive information.
By setting the state (initialized) in the crypto context (i.e., the
teecryp_state
) at the end of allsyscall*_init
functions and then add a check of the state at the beginning of all update and final functions, we prevent direct entrance to the “update” and “final” functions.Patches
optee_os.git
Workarounds
N/A
References
[1] https://github.com/MartijnB/optee_fuzzer
OP-TEE ID
OP-TEE-2019-0021
Reported by
Riscure
For more information
For more information regarding the security incident process in OP-TEE, please read the information that can be found when going to the "Security" page at https://www.trustedfirmware.org.