OP-TEE vulnerable to ECDH private key recovery
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| OP-TEE | optee_os | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Op-tee | Op-tee Os |
|
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.096% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Trustedfirmware
Trustedfirmware op-tee |
|
| CPEs | cpe:2.3:o:trustedfirmware:op-tee:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Linaro
Linaro op-tee |
Trustedfirmware
Trustedfirmware op-tee |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Op-tee
Op-tee op-tee Os |
|
| Vendors & Products |
Op-tee
Op-tee op-tee Os |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Linaro
Linaro op-tee |
|
| CPEs | cpe:2.3:o:linaro:op-tee:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Linaro
Linaro op-tee |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. Prior to version 4.11.0, on many of the ECDH shared secret paths, the public key isn't verified to be a point on the correct curve. By passing approximately 30-40 crafted public keys to OP-TEE, the private key can be reconstructed by a normal world attacker. When calling TEE_DeriveKey the public key is provided with full X and Y values, but the (X, Y) point might not satisfy the `Y^2 == X^3 + aX + b mod P` math for the specific curve that is used. When those public keys aren't rejected, the attacker can select public keys such that each DeriveKey call will leak `d % r` where `d` is the private key and `r` comes from the relationship between the correct curve and the attacker selected curve. With enough leaked data the Chinese remainder theorem can be used to recover the full private key. Version 4.11.0 fixes the issue. | |
| Title | OP-TEE vulnerable to ECDH private key recovery | |
| Weaknesses | CWE-347 | |
| References |
| |
| Metrics |
cvssV3_1
|