CVE-2026-40290 OP-TEE has a Use-After-Free race in FF-A shared-memory teardown

High 7.8 Published Updated

A race condition in OP-TEE's shared memory teardown allows attackers to trigger a use-after-free, potentially leading to code execution or privilege escalation in the Trusted Execution Environment.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
None listed

What is CVE-2026-40290?

CVE-2026-40290 is a high-severity use after free vulnerability in OP-TEE optee_os, published on 3 Jun 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official 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. Starting in version 3.16.0 and prior to 4.11.0, a user-after-free (UAF) race condition exists in the shared memory teardown logic of FF-A within OP-TEE SPMC/SP flows. This only applies when OP-TEE is configured as an SPMC for S-EL0 SPs, that is, with `CFG_SECURE_PARTITION=y`. The function `sp_mem_remove()`, responsible for freeing entries in `smem->receivers` and `smem->regions`, fails to acquire the global `sp_mem_lock` before performing the `free()` operations. Concurrently, other code paths, such as `sp_mem_get_receiver()`, iterate over these same lists without holding a lock, or, like `sp_mem_is_shared()`, iterate while holding the lock but are not serialized against the unprotected `free()` in `sp_mem_remove()`. This creates a cross-thread race where a thread iterating the list can acquire a pointer to an entry (e.g., `struct sp_mem_map_region` or `struct sp_mem_receiver`), and then another thread calls `sp_mem_remove()`, freeing the object. When the first thread resumes and dereferences the pointer, it results in a Use-After-Free vulnerability. Version 4.11.0 fixes the issue.

Weakness: CWE-416

Which versions are affected by CVE-2026-40290?

It affects 1 product.

Products include Trustedfirmware Op-Tee.

How do I fix CVE-2026-40290?

No fix has been published for CVE-2026-40290 yet. Limit exposure of the affected software until one is available.

Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.

Is CVE-2026-40290 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-40290 exists.

Sources

Also known as DEBIAN-CVE-2026-40290, GHSA-332c-xr93-849m, UBUNTU-CVE-2026-40290.

Is CVE-2026-40290 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free