Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain normal-world low-privilege local access
-
DeliveryInvoke TEE API with non-contiguous shared memory params
-
ExploitTrigger missing mobj_put() in cleanup_shm_refs()
-
ExecutionAccumulate mobj_reg_shm reference leaks per call
-
PersistExhaust secure-world heap over repeated calls
-
ImpactDeny service to all trusted application operations
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires local, low-privileged access to the normal world (Linux user space) on a device running OP-TEE in a non-FF-A configuration with non-contiguous, non-secure shared memory support enabled. The attacker must be able to invoke TEE operations and supply parameters that exercise the non-contiguous memory path - this is a standard TEE API interaction, not an obscure or privileged operation, but it does require the specific configuration (non-FF-A + non-contiguous shared memory). Devices using FF-A configurations are explicitly excluded. The impact is slow and cumulative rather than immediate: a single trigger causes a small leak; sustained triggering over time leads to heap exhaustion. Limiting factors include the need for local access (AV:L), the requirement for non-default or platform-specific non-contiguous memory configuration, and the gradual nature of the DoS - detection and reboot can interrupt an attack before full heap exhaustion is reached. |
| Impact | The NVD CVSS base score of 3.8 (Low) and the CVSS vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:L reflect a locally-triggered, low-complexity availability issue with a scope change into the secure world (S:C), but the impact on that scope is rated Low (A:L). This scoring is broadly appropriate: exploitation requires local, low-privileged normal-world access to invoke TEE operations, and the availability impact is gradual degradation rather than instant crash. The scope change to the secure world is notable - normal-world code should not be able to destabilize the TEE - but the attack only causes DoS and not confidentiality or integrity compromise. No EPSS score was provided in the input, so probabilistic exploitation frequency cannot be quantified. The flaw is NOT in the CISA KEV catalog and no POC is known; real-world exploitation risk is therefore assessed as low-to-moderate for targeted embedded or mobile platform attacks where an adversary already has normal-world local access. The primary real-world threat vector is a malicious or compromised application on an Arm TrustZone device repeatedly invoking TEE operations with non-contiguous shared memory to degrade or crash trusted application services. For devices where OP-TEE hosts security-critical trusted applications (e.g., key storage, DRM, secure authentication), a TEE DoS has outsized operational impact beyond the raw CVSS score suggests. |
| Exploit ScenarioDerived | An unprivileged process on a Linux system running OP-TEE 3.3.0-4.10.x with non-FF-A and non-contiguous shared memory support repeatedly opens TEE sessions and passes non-contiguous memory parameters, causing |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 06, 2026
Heap exhaustion in OP-TEE OS (versions 3.3.0 through 4.10.x) allows a low-privileged normal-world local caller to progressively degrade and ultimately deny service to all trusted applications running in the secure world. The root cause is a missing bitmask application in cleanup_shm_refs() that causes mobj_reg_shm reference objects to accumulate indefinitely on internal lists without being released. No public exploit code has been identified at time of analysis, and EPSS data was not supplied; however, the flaw is structurally straightforward to trigger through normal TEE invocation with non-contiguous shared memory parameters, making it feasible for any process with TEE access to exhaust the secure heap over time.
RemediationAI
Upgrade OP-TEE OS to version 4.11.0, which contains the patch applying the OPTEE_MSG_ATTR_TYPE_MASK bitmask correctly in cleanup_shm_refs(). The vendor advisory at https://github.com/OP-TEE/optee_os/security/advisories/GHSA-c7j8-fgqw-rcgp should be consulted for build and integration guidance. The vendor explicitly states no known workarounds are available. As a partial compensating control, operators can restrict which normal-world processes are permitted to open sessions with trusted applications (reducing the pool of principals who can trigger the leak), though this does not eliminate the vulnerability and may impact legitimate TA consumers. Systems exhibiting slow TEE performance degradation should be monitored for secure-world heap pressure as an indicator of exploitation or triggering. Periodic reboots as a stopgap are an operational mitigation only; they do not address the underlying defect and may mask active exploitation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OP-TEE (optee_os, CPE: cpe:2.3:a:op-tee:optee_os:*:*:*:*:*:*:*:*) is the reference Trusted Execution Environment for Arm TrustZone-enabled Cortex-A processors, running as a secure-world OS alongside a normal-world Linux kernel. The flaw resides in core/tee/entry_std.c, specifically in cleanup_shm_refs(). When a normal-world caller passes parameters using non-contiguous shared memory, the attribute word for each parameter must be masked with OPTEE_MSG_ATTR_TYPE_MASK before comparison in a switch statement to extract the parameter type. Because this mask is omitted, the type field is not correctly extracted, none of the switch arms match, and the corresponding mobj_put() call - which decrements the reference count of the mobj_reg_shm memory object - is skipped. The CWE-770 classification (Allocation of Resources Without Limits or Throttling) accurately describes the outcome: each affected invocation retains a counted reference permanently, and these phantom references progressively consume the secure-world heap allocator. The bug is scoped to non-FF-A (non-Firmware Framework for Arm) configurations that support non-contiguous, non-secure shared memory, introduced in version 3.3.0.
Know when Optee Os gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:L
Local normal-world caller with low privileges; no confidentiality or integrity impact; scope changes into secure world with low availability degradation.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
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 3.3.0 and prior to version 4.11.0, a resource leak exists in OP-TEE’s shared memory cleanup logic because the function cleanup_shm_refs() in core/tee/entry_std.c fails to apply a required bitmask (OPTEE_MSG_ATTR_TYPE_MASK) to parameter attributes. When processing non-contiguous memory parameters from a normal-world caller, the system fails to match the attribute type in its internal switch statement and skips the necessary mobj_put() call. This results in a persistent reference leak of mobj_reg_shm objects, which remain on internal lists with dangling refcounts. This affects non-FF-A configurations that support non-contiguous, non-secure shared memory. Over time, these accumulated leaks progressively consume the secure-world heap, degrading the system's ability to service trusted application operations and eventually requiring a reboot to recover. Version 4.11.0 contains a patch. No known workarounds are available.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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
Stack exhaustion via unbounded recursion in the OP-TEE PKCS#11 Trusted Application allows a local low-privileged user to
EUVD-2026-41910
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB