
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-71968 is a use-after-free vulnerability in the OP-TEE OS Trusted Application (TA) loader affecting all versions through 4.10.0. The flaw allows an attacker with the ability to load a signed Trusted Application to corrupt secure-world kernel memory (S-EL1) by setting the TA_FLAG_CONCURRENT flag in a user TA signed header. It was disclosed on August 10, 2026, and fixed in commit 8794043 merged on August 6, 2026. The vulnerability carries a CVSS v3.1 base score of 6.7 (Medium) and a CVSS v4.0 base score of 8.4 (High) (Github Advisory, VulnCheck).
The root cause is a combination of a race condition (CWE-362) and use-after-free (CWE-416) in ldelf_loader.c. TA_FLAG_CONCURRENT is documented as a pseudo-TA-only flag, but because it falls within TA_FLAGS_MASK, the loader accepted it from user TA signed headers without validation. When set, tee_ta_try_set_busy() returns early without acquiring the serialization lock, allowing two concurrent sessions of a single-instance, multi-session user TA to operate on the same shared uctx->vm_info.regions list simultaneously. The concurrent, unsynchronized inserts, removals, and frees of vm_region nodes corrupt the list and free nodes still in use, resulting in a use-after-free in S-EL1 secure-world kernel memory. The fix adds explicit rejection of TA_FLAG_CONCURRENT in both ldelf_init_with_ldelf() (in core/kernel/ldelf_loader.c) and ta_elf_load_main() (in ldelf/ta_elf.c) (OP-TEE PR #7900, Fix Commit).
Successful exploitation allows a local attacker with high privileges (the ability to load a signed TA) to corrupt S-EL1 secure-world kernel memory, potentially leading to privilege escalation, arbitrary code execution within the TEE, or a system crash. The confidentiality, integrity, and availability of the vulnerable system are all rated High under CVSS v4.0, meaning an attacker could read sensitive data protected by the TEE (e.g., cryptographic keys, DRM secrets), tamper with secure-world state, or cause a denial of service. Because the impact is confined to the vulnerable OP-TEE OS instance (subsequent system impact metrics are None), lateral movement beyond the TEE boundary is not directly implied, though compromise of the secure world can undermine the security guarantees of the entire platform (Github Advisory, VulnCheck).
No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at this time. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, and NVD's SSVC assessment classifies exploitation as "none." The EPSS score is approximately 0.1%, placing it in the 1st percentile for near-term exploitation likelihood. Exploitation requires local access and high privileges (the ability to load a signed Trusted Application), which significantly limits the attacker pool. No threat actor attribution has been reported (Github Advisory, VulnCheck).
TA_FLAG_CONCURRENT bit in the TA signed header's flags field. This flag is normally reserved for pseudo-TAs but falls within TA_FLAGS_MASK, so vulnerable versions of OP-TEE accept it.ldelf_loader.c) accepts the flag without rejection.TA_FLAG_CONCURRENT causes tee_ta_try_set_busy() to return early, both sessions proceed without the busy lock, sharing the same uctx context.uctx->vm_info.regions list.vm_region nodes still referenced by the other session, resulting in a use-after-free in S-EL1 secure-world kernel memory, which can be leveraged for memory corruption, privilege escalation, or code execution within the TEE (OP-TEE PR #7900, Fix Commit).ldelf_loader.c or ta_elf.c; unexpected TEE_ERROR_BAD_FORMAT errors on patched systems when a malicious TA is attempted.TA_FLAG_CONCURRENT set in its signed header flags field (detectable by inspecting the TA header with TA analysis tools).Update OP-TEE OS to a version incorporating commit 8794043c4065c26a2b8b1313794ba5ba5f06d296 or later, which explicitly rejects user TAs that set TA_FLAG_CONCURRENT with TEE_ERROR_BAD_FORMAT in both ldelf_init_with_ldelf() and ta_elf_load_main(). As a workaround prior to patching, restrict the ability to load Trusted Applications to only fully trusted and audited parties, and audit existing deployed TAs for the presence of TA_FLAG_CONCURRENT in their headers. Organizations should also review TA signing key management practices to prevent unauthorized TA creation (OP-TEE PR #7900, Fix Commit, Github Advisory).
The vulnerability was discovered and reported by Shahriyar Jalayeri (shj-byteray), who noted in the pull request that a reproducer is available on request. The fix was reviewed and approved by OP-TEE maintainers Jerome Forissier and Jens Wiklander before being merged on August 6, 2026. No significant broader media coverage or social media discussion has been observed beyond the standard vulnerability database entries (OP-TEE PR #7900).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."