Eclipse ThreadX: Module block-pool create validates two of the four parameter words it reads
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
The Module Manager's block-pool create dispatcher proved that two ALIGN_TYPE words of the extra-parameter array a memory-protected module supplies lay inside the module's data, and then used indices 0 through 3 of that array.
One of the two unproved words is read by the dispatcher's own buffer check, which takes index 1 as the pool start and index 2 as the length to range-check it over. So the out-of-bounds read is performed by the validation code itself, before the kernel service is reached, and the size the caller's pool start is then validated against is a word the manager has not proved the module owns. The other unproved word is read when the service's argument list is built.
Vulnerable function: _txm_module_manager_tx_block_pool_create_dispatch, in common_modules/module_manager/inc/txm_module_manager_dispatch.h.
Text from CVE List
Affected versions 2
- Eclipse ThreadXaffected: 6.0.1 through 6.5.1.202602aCVE List
- Eclipse ThreadXunaffected: 6.5.2.202603CVE List