CVE-2026-102711 ThreadX 模块加载器越界读取漏洞
影响攻击者可触发堆越界读取,可能泄露内存信息或导致崩溃
Eclipse ThreadX 的可加载模块加载器在处理攻击者可控的模块对象时存在两个问题。加载 API 仅接收基址指针而不接收镜像长度,导致 TXM_MODULE_PREAMBLE 中的大小与偏移字段完全由攻击者控制。其一是代码拷贝循环中将 code_size 当作源镜像长度,造成堆越界读取。
影响范围
受影响组件为 Eclipse ThreadX 的模块管理功能(_txm_module_manager_memory_load / _txm_module_manager_in_place_load)。具体受影响版本范围暂无公开信息。
漏洞详情
漏洞类型为堆越界读取及控制流完整性防护不足。成因是加载接口不校验镜像长度,preamble 中的 code_size 等字段被直接信任,代码拷贝循环据此读取超出实际镜像范围的内存;同时模块入口、启动、回调、停止指针仅做非零判断,preamble 校验和也从未验证。利用方式为设备加载攻击者可控的模块对象时触发。
利用条件与风险
利用前提是攻击者能让设备加载其控制的模块对象,通常需要一定的本地或供应链投递能力。实战中可造成内存信息泄露或拒绝服务,未发现可控的越界写入。
修复建议
建议关注 Eclipse ThreadX 官方针对 CVE-2026-102711 发布的修复版本并及时升级。临时缓解措施包括仅加载可信来源的模块对象,并对模块镜像长度与校验和进行额外校验,具体方案暂无公开信息。
Two issues in the ThreadX loadable-module loader, reached when a device loads an attacker-controlled module object via `_txm_module_manager_memory_load` / `_txm_module_manager_in_place_load` — APIs that take ONLY a base pointer, no image length, so every size/offset field in `TXM_MODULE_PREAMBLE` is fully attacker-trusted: (1) a heap OOB **read** (`code_size` trusted as the source-image length in the code-copy loop), and (2) a control-flow-integrity / defense-in-depth gap (module entry/start/callback/stop pointers computed as `code_start + preamble_offset` with only a `!= 0` check, and the preamble `checksum` never verified). No controlled OOB write was found (honest — the copy destination is overflow-guarded).