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
2DescriptionCVE.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.
AnalysisAI
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.
Technical ContextAI
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.
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.
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
Same technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41910