REE userspace code can panic TAs, leading to fTPM PCR reset and data disclosure
Summary
REE userspace code can panic TAs, leading to fTPM PCR reset and data disclosure
Original description
The description as published by the source.
OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. In version 4.5.0, using a specially crafted tee-supplicant binary running in REE userspace, an attacker can trigger a panic in a TA that uses the libutee Secure Storage API. Many functions in libutee, specifically those which make up the Secure Storage API, will panic if a system call returns an unexpected return code. This behavior is mandated by the TEE Internal Core API specification. However, in OP-TEE’s implementation, return codes of secure storage operations are passed through unsanitized from the REE tee-supplicant, through the Linux kernel tee-driver, through the OP-TEE kernel, back to libutee. Thus, an attacker with access to REE userspace, and the ability to stop tee-supplicant and replace it with their own process (generally trivial for a root user, and depending on the way permissions are set up, potentially available even to less privileged users) can run a malicious tee-supplicant process that responds to storage requests with unexpected response codes, triggering a panic in the requesting TA. This is particularly dangerous for TAs built with TA_FLAG_SINGLE_INSTANCE (corresponding to gpd.ta.singleInstance and TA_FLAG_INSTANCE_KEEP_ALIVE (corresponding to gpd.ta.keepAlive). The behavior of these TAs may depend on memory that is preserved between sessions, and the ability of an attacker to panic…
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2025-46733 optee-os Fixed in: 4.5.0-2
References
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov
- patch github.com