OP-TEE — это доверенная среда выполнения (TEE), разработанная в качестве дополнения к незащищенному ядру Linux, работающему на Arm; Ядра Cortex-A с использованием технологии TrustZone. Начиная с версии 3.3.0 и до версии 4.11.0, в логике очистки общей памяти OP-TEE существует утечка ресурсов, поскольку функция cleanup_shm_refs() в core/tee/entry_std.c не может применить требуемую битовую маску (OPTEE_MSG_ATTR_TYPE_MASK) к атрибутам параметров. При обработке несмежных параметров памяти от вызывающего объекта из обычного мира система не может сопоставить тип атрибута в своем внутреннем операторе переключения и пропускает необходимый вызов mobj_put().
Это приводит к постоянной утечке ссылок на объекты mobj_reg_shm, которые остаются во внутренних списках с висячими счетчиками ссылок. Это влияет на конфигурации, отличные от FF-A, которые поддерживают несмежную, незащищенную общую память. Со временем эти накопленные утечки постепенно поглощают кучу безопасного мира, ухудшая способность системы обслуживать операции доверенных приложений и в конечном итоге требуя перезагрузки для восстановления.
Версия 4.11.0 содержит патч. Никаких известных обходных путей не существует.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Trustedfirmware Op-Tee
cpe:2.3:o:trustedfirmware:op-tee:*:*:*:*:*:*:*:*
|
3.3.0
|
<= 4.10.0
|