Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Local access only (AV:L), non-default hardware config required (AC:H), low-privilege attacker needed (PR:L); only partial confidentiality impact with no integrity or availability effect.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
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. Starting in version 4.5.0 and prior to version 4.11.0, the RSA-OAEP decryption implementation in the Hisilicon HPRE crypto driver uses non-constant-time memcmp() for label hash verification and has multiple distinguishable error paths. This creates a Manger-style padding oracle that allows an attacker to recover RSA-OAEP plaintext with approximately 1000-2000 adaptive chosen ciphertext queries. Only affects plat-d06 with CFG_HISILICON_ACC_V3=y, which seems to be disabled by default. Version 4.11.0 contains a patch. As a workaround, disable Hisilicon HPRE RSA driver with CFG_HISILICON_ACC_V3=n.
AnalysisAI
RSA-OAEP decryption in OP-TEE OS versions 4.5.0 through 4.10.x exposes a Manger-style padding oracle via the Hisilicon HPRE hardware crypto driver, enabling a local attacker to recover RSA-OAEP plaintext through approximately 1000-2000 adaptive chosen ciphertext queries. The root cause is a non-constant-time memcmp() used for label hash verification combined with distinguishable error paths - classic CWE-208 timing side-channel conditions. Impact is heavily constrained by a non-default build requirement: only Hisilicon D06 (plat-d06) hardware built with CFG_HISILICON_ACC_V3=y is exposed, and no public exploit or active exploitation has been identified at time of analysis.
Technical ContextAI
OP-TEE is an open-source Trusted Execution Environment running in ARM TrustZone's secure world alongside a normal Linux kernel on Cortex-A cores. The vulnerable component is the Hisilicon HPRE (High Performance RSA Engine) hardware accelerator driver, a compile-time-optional module for Hisilicon D06 server hardware. In RSA-OAEP decryption, after performing the RSA private-key operation, the implementation must verify a label hash as part of the OAEP unpadding step. The driver uses a non-constant-time memcmp() for this check and exposes distinguishable failure codes for different error conditions. CWE-208 (Observable Timing Discrepancy) precisely captures this: an adversary can submit chosen ciphertexts, observe which error branch fires, and apply Manger's 2001 adaptive chosen ciphertext algorithm to iteratively recover the plaintext in polynomial query time. The CPE identifier is cpe:2.3:a:op-tee:optee_os:*:*:*:*:*:*:*:* covering the affected version range within the optee_os project.
RemediationAI
Upgrade to OP-TEE OS version 4.11.0, which contains a patch for this vulnerability as confirmed by GitHub Security Advisory GHSA-qw4r-9wj9-q23r (https://github.com/OP-TEE/optee_os/security/advisories/GHSA-qw4r-9wj9-q23r). If an immediate rebuild or upgrade is not feasible, the official workaround is to rebuild OP-TEE with CFG_HISILICON_ACC_V3=n, which disables the Hisilicon HPRE RSA hardware accelerator entirely and causes RSA-OAEP operations to fall back to the software crypto implementation, which is not affected by this timing flaw. The trade-off of this workaround is a potential performance regression for RSA workloads on Hisilicon D06 hardware, as hardware acceleration is lost. Organizations not running plat-d06 hardware or not building with CFG_HISILICON_ACC_V3=y require no action - they are not exposed.
Out-of-bounds read and write in OP-TEE OS PKCS#11 Trusted Application (versions 3.13.0-4.10.0) allows authenticated loca
Secure-world heap corruption in OP-TEE OS through 4.10.0 allows a malicious Trusted Application to write attacker-contro
Use-after-free in the OP-TEE OS Trusted Application loader (all versions through 4.10.0) allows an attacker who controls
Use-after-free race condition in OP-TEE OS versions 3.16.0 through 4.10.x enables local low-privileged attackers to corr
Integer overflow in OP-TEE OS RSA signature encoding crashes the Trusted Execution Environment on platforms with RSA har
Null pointer dereference in OP-TEE OS through version 4.10.0 allows a low-privileged Normal World process to crash the e
Subkey rollback protection in OP-TEE OS versions 3.20.0 through 4.10.x is completely non-functional due to a missing fie
Heap overflow in OP-TEE's ARM Crypto Extensions SHA-3 implementation corrupts TEE kernel memory across all platforms bui
Type confusion in OP-TEE OS versions 4.3.0 through 4.10.x allows a highly privileged local attacker operating in the nor
Private ECDH key recovery in OP-TEE prior to version 4.11.0 is achievable by a local attacker who can invoke TEE_DeriveK
Integer overflow in OP-TEE OS's AES-GCM implementation silently corrupts authentication tag computation when a single op
Heap exhaustion in OP-TEE OS (versions 3.3.0 through 4.10.x) allows a low-privileged normal-world local caller to progre
Same weakness CWE-208 – Observable Timing Discrepancy
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41917