CVE-2026-0648

The vulnerability stems from an incorrect error-checking logic in the CreateCounter() function (in threadx/utility/rtos_compatibility_layers/OSEK/tx_osek.c) when handling the return value of osek_get_counter(). Specifically, the current code checks if cntr_id equals 0u to determine failure, but @osek_get_counter() actually returns E_OS_SYS_STACK (defined as 12U) when it fails. This mismatch causes the error branch to never execute even when the counter pool is exhausted. As a result, when the counter pool is depleted, the code proceeds to cast the error code (12U) to a pointer (OSEK_COUNTER *), creating a wild pointer. Subsequent writes to members of this pointer lead to writes to illegal memory addresses (e.g., 0x0000000C), which can trigger immediate HardFaults or silent memory corruption. This vulnerability poses significant risks, including potential denial-of-service attacks (via repeated calls to exhaust the counter pool) and unauthorized memory access.
Configurations

Configuration 1 (hide)

cpe:2.3:a:eclipse:threadx:*:*:*:*:*:*:*:*

History

02 Apr 2026, 20:30

Type Values Removed Values Added
Summary
  • (es) La vulnerabilidad se deriva de una lógica incorrecta de comprobación de errores en la función CreateCounter() (en threadx/utility/rtos_compatibility_layers/OSEK/tx_osek.c) al manejar el valor de retorno de osek_get_counter(). Específicamente, el código actual comprueba si cntr_id es igual a 0u para determinar un fallo, pero @osek_get_counter() en realidad devuelve E_OS_SYS_STACK (definido como 12U) cuando falla. Esta discrepancia hace que la rama de error nunca se ejecute, incluso cuando el pool de contadores está agotado. Como resultado, cuando el pool de contadores se agota, el código procede a convertir el código de error (12U) a un puntero (OSEK_COUNTER *), creando un puntero salvaje. Las escrituras posteriores a miembros de este puntero conducen a escrituras en direcciones de memoria ilegales (por ejemplo, 0x0000000C), lo que puede desencadenar HardFaults inmediatos o corrupción de memoria silenciosa. Esta vulnerabilidad plantea riesgos significativos, incluyendo posibles ataques de denegación de servicio (mediante llamadas repetidas para agotar el pool de contadores) y acceso no autorizado a la memoria.
First Time Eclipse threadx
Eclipse
CWE CWE-787
References () https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-xj75-fc68-h4rw - () https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-xj75-fc68-h4rw - Third Party Advisory
CPE cpe:2.3:a:eclipse:threadx:*:*:*:*:*:*:*:*

27 Jan 2026, 16:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-01-27 16:16

Updated : 2026-04-02 20:30


NVD link : CVE-2026-0648

Mitre link : CVE-2026-0648

CVE.ORG link : CVE-2026-0648


JSON object : View

Products Affected

eclipse

  • threadx
CWE
CWE-253

Incorrect Check of Function Return Value

CWE-787

Out-of-bounds Write