UBUNTU-CVE-2026-40290

Source
https://ubuntu.com/security/CVE-2026-40290
Import Source
https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-40290.json
JSON Data
https://api.osv.dev/v1/vulns/UBUNTU-CVE-2026-40290
Upstream
  • CVE-2026-40290
Published
2026-06-03T18:16:00Z
Modified
2026-06-12T09:04:11.356013946Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
  • Ubuntu - medium
Summary
[none]
Details

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.

References

Affected packages

Ubuntu:25.10 / optee-os

Package

Name
optee-os
Purl
pkg:deb/ubuntu/optee-os?arch=source&distro=questing

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

4.*
4.5.0-1
4.5.0-2
4.7.0-1

Ecosystem specific

{
    "binaries": [
        {
            "binary_version": "4.7.0-1",
            "binary_name": "optee-os"
        }
    ]
}

Database specific

source
"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-40290.json"

Ubuntu:26.04:LTS / optee-os

Package

Name
optee-os
Purl
pkg:deb/ubuntu/optee-os?arch=source&distro=resolute

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

4.*
4.7.0-1
4.8.0-1

Ecosystem specific

{
    "binaries": [
        {
            "binary_version": "4.8.0-1",
            "binary_name": "optee-os"
        }
    ]
}

Database specific

source
"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-40290.json"