CVE-2026-41516 Overview
CVE-2026-41516 is a padding oracle vulnerability affecting OP-TEE, a Trusted Execution Environment (TEE) that pairs with a non-secure Linux kernel on Arm Cortex-A cores using TrustZone. The flaw resides in the Hisilicon HPRE crypto driver, where the RSA PKCS#1 v1.5 decryption path uses non-constant-time memcmp() for label hash verification. The implementation also exposes multiple distinguishable error paths. Together, these behaviors create a Bleichenbacher-style padding oracle that a local attacker with low privileges can query to recover RSA PKCS#1 v1.5 plaintext. Versions from 4.5.0 up to (but not including) 4.11.0 are affected, and version 4.11.0 contains the patch.
Critical Impact
A local, low-privileged attacker can leverage timing and error-path side channels in the HPRE driver to recover RSA plaintext protected by the TEE.
Affected Products
- OP-TEE OS versions 4.5.0 through 4.10.x
- Deployments built with CFG_HISILICON_ACC_V3=y enabling the Hisilicon HPRE RSA driver
- Arm Cortex-A platforms using TrustZone with OP-TEE and Hisilicon HPRE acceleration
Discovery Timeline
- 2026-07-06 - CVE-2026-41516 published to NVD
- 2026-07-07 - Last updated in NVD database
Technical Details for CVE-2026-41516
Vulnerability Analysis
The vulnerability is a cryptographic side-channel weakness classified under [CWE-208] (Observable Timing Discrepancy). During RSA PKCS#1 v1.5 decryption, the Hisilicon HPRE driver validates the OAEP-style label hash using the standard memcmp() function. Because memcmp() returns as soon as it encounters a differing byte, its execution time correlates with the number of matching leading bytes. An attacker measuring these timing differences, combined with observing which error branch executes, can distinguish valid PKCS#1 v1.5 padding from invalid padding. This is the classic Bleichenbacher oracle condition, which permits adaptive chosen-ciphertext queries that iteratively recover the underlying plaintext.
Root Cause
The root cause is twofold. First, the label hash comparison uses non-constant-time memcmp() rather than a constant-time equality primitive. Second, the decryption routine returns through multiple distinguishable error paths depending on where padding validation fails. Both channels leak information about the intermediate decryption state that an attacker can use to build a padding oracle.
Attack Vector
Exploitation requires local access to the OP-TEE interface and low privileges to invoke the crypto driver, but no user interaction. The attacker submits crafted RSA ciphertexts to the HPRE-backed decryption routine and observes response timing and error codes. By iteratively refining ciphertexts based on oracle responses, the attacker recovers the plaintext of an intercepted RSA PKCS#1 v1.5 encrypted message. The vulnerability does not directly affect integrity or availability, but confidentiality of encrypted secrets is compromised.
No public proof-of-concept exploit code is available. Refer to the OP-TEE GitHub Security Advisory GHSA-wxp6-8wwr-h4gf for technical details.
Detection Methods for CVE-2026-41516
Indicators of Compromise
- High volume of RSA decryption invocations against the HPRE crypto driver from a single caller, consistent with adaptive chosen-ciphertext probing.
- Repeated PKCS#1 v1.5 padding failures logged by the TEE crypto subsystem within a short time window.
- Anomalous latency measurements or timing instrumentation issued by non-privileged local processes against TEE decryption endpoints.
Detection Strategies
- Enumerate OP-TEE build configuration on deployed devices and flag any version between 4.5.0 and 4.10.x built with CFG_HISILICON_ACC_V3=y.
- Instrument the TEE client interface to record call frequency and error-code distributions for RSA decryption operations.
- Correlate spikes in RSA decryption failures with process identity to identify potential oracle-abuse activity.
Monitoring Recommendations
- Monitor auditd or equivalent Linux telemetry for processes invoking TEE Client API decryption calls at abnormal rates.
- Alert when a single process generates thousands of RSA padding-check failures against the HPRE driver.
- Track OP-TEE version inventory across the fleet and generate alerts when unpatched instances remain in production.
How to Mitigate CVE-2026-41516
Immediate Actions Required
- Upgrade OP-TEE OS to version 4.11.0 or later on all affected Arm TrustZone platforms.
- If patching is not immediately possible, rebuild OP-TEE with the Hisilicon HPRE RSA driver disabled using CFG_HISILICON_ACC_V3=n.
- Inventory devices using Hisilicon HPRE acceleration and prioritize remediation for those handling long-lived RSA keys.
Patch Information
OP-TEE version 4.11.0 contains the fix. The maintainers published the advisory at OP-TEE GHSA-wxp6-8wwr-h4gf. Rebuild OP-TEE OS from the fixed release and deploy the resulting TEE image through your normal firmware update channel.
Workarounds
- Disable the Hisilicon HPRE RSA driver at build time by setting CFG_HISILICON_ACC_V3=n in the OP-TEE configuration.
- Migrate services that rely on RSA PKCS#1 v1.5 decryption to RSA-OAEP or another padding scheme not vulnerable to Bleichenbacher-style oracles.
- Rotate any RSA keys that may have been exposed to untrusted callers on affected devices prior to patching.
# Configuration example: disable the vulnerable HPRE RSA driver in OP-TEE build
make CFG_HISILICON_ACC_V3=n
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

