ThreadX全家桶迎来移交Eclipse基金会后的第2次更新,发布V6.4.3版本,更新终于回到正轨
【说明】
1、2023-11-22宣布移交Eclipse基金会后,2025-02迎来了首版更新。移交的时间确实有点长,不过还是回来了。
2、本次更新正式了很多,算是走向正轨了
3、当前任何人,任何厂家的芯片都可以免费商用,MIT授权就这点好
【本次V6.4.3更新】
https://github.com/eclipse-threadx
1、ThreadX内核更新
主要变更
本次发布的主要变化是在 tx_api.h 中新增了配置参数 TX_QUEUE_MESSAGE_MAX_SIZE,用于定义队列的最大消息大小。默认值为 TX_ULONG_16,以保持向后兼容性。
修复的安全漏洞(链接将在 Eclipse 安全团队发布公告后生效)
- CVE-2025-55078 ThreadX 系统调用中的内核对象指针验证漏洞,允许攻击者提供指向保留内存区域的指针。
- CVE-2025-55079 模块线程可获得高于 txm_module_instance_maximum_priority 的优先级。
- CVE-2025-55080 ThreadX 系统调用实现中参数检查不当。
更新内容
- 队列最大消息大小现已可配置。
- 为 Linux 和 SMP Linux 文档化了 GNU 库编译标志。
- 当发生堆栈溢出时,阻止分析过程。
- 修复了 IAR 包含文件的拼写错误。
- 完成了可配置队列最大大小的实现(ThreadX SMP)。
CI 持续集成
- 为新建问题添加新标签,强制使用问题模板。
- 添加了工作流权限。
- 更新所有 actions 至最新版本。
- 修复了代码覆盖率工件上传问题。
- 为“Coverage Report Name”添加了条件,并修正了格式。
- 修复了 deploy_code_coverage 中代码覆盖率报告下载步骤。
- 将 CI 修复移植到 dev 分支。
2、FileX文件系统更新[
本次发布的唯一变更是修正了引导记录和 FSINFO 签名。同时,还修复了随 FileX 附带的示例代码中的缓冲区溢出问题。
变更内容
- 实现了引导记录和 FSINFO 签名修正。
- 已解决的漏洞(链接在 Eclipse 安全部门发布公告前不可用):
- CVE-2025-55089 Eclipse ThreadX FileX RAM 磁盘驱动缓冲区溢出漏洞(TALOS-2024-2088)
CI 相关
- 修复了 Filex 回归测试的 GitHub Action 问题。
- 更新了最低 CMake 版本至 3.13。
- 为 Cortex M33 增加了 CMake 支持。
3、USBX协议栈更新
本次版本更新将USBX的供应商ID从"AzureRTO"更改为"Eclipse",同时修复了若干问题,包括安全漏洞。
已修复的安全漏洞(在Eclipse安全团队发布公告前链接暂不可用)
- CVE-2025-55096 _ux_host_class_hid_report_descriptor_get() 函数中存在边界检查不足及潜在下溢风险
- CVE-2025-55097 _ux_host_class_audio_streaming_sampling_get() 函数中存在潜在越界读取风险
- CVE-2025-55098 _ux_host_class_audio_device_type_get() 函数中存在潜在越界读取风险
- CVE-2025-55099 _ux_host_class_audio_alternate_setting_locate() 函数中存在潜在越界读取风险
- CVE-2025-55100 _ux_host_class_audio10_sam_parse_func() 函数中存在潜在越界读取风险
变更内容
- 修复时间计算问题
- 修复Pima线程中的复制粘贴错误
- 将供应商ID从"AzureRTO"更新为"Eclipse"
- 为查询页代码添加长度检查
- 修复部分PIMA函数即使成功仍返回≠UX_SUCCESS的问题
- 修复主机CDC ECM数据包池实例等待问题
- 修复ux_system_initialize错误检查标志
- 在停用时终止HID中断输出端点
- 修复与HID报告描述符相关的回归问题
- 新增对Cortex M33的CMake支持
4、NetXDUO网络协议栈更新
本版本修复了大量安全漏洞,同时提供了若干错误修正。此外,现已支持 ECDHE_PSK 密码套件的实现。
已修复的安全漏洞(在 Eclipse 安全团队发布公告前链接暂不可用)
- CVE-2025-55081 _nx_secure_tls_process_clienthello() 函数存在潜在越界读取风险
- CVE-2025-55082 _nx_secure_tls_psk_identity_find() 函数存在越界读取及信息泄露可能
- CVE-2025-55083 _nx_secure_tls_process_clienthello_psk_extension() 函数边界检查存在缺陷,未考虑偏移量
- CVE-2025-55084 _nx_secure_tls_proc_clienthello_supported_versions_extension() 函数存在差一越界读取
- CVE-2025-55090 _nx_ipv4_packet_receive() 函数存在潜在越界读取问题
- CVE-2025-55091 _nx_ip_packet_receive() 函数存在潜在越界读取风险
- CVE-2025-55092 _nx_ipv4_option_process() 函数存在潜在越界读取风险
- CVE-2025-55093 _nx_ipv4_packet_receive() 函数处理单播 DHCP 消息时存在越界读写
- CVE-2025-55094 _nx_icmpv6_validate_options() 函数存在潜在越界读取风险
即将弃用的功能
我们已确定有两个组件将在下个次要版本中弃用,并在后续版本中完全移除:
Azure IoT 中间件(用于 Azure RTOS)
由于微软不再直接参与 Eclipse ThreadX 项目,项目团队无法访问 Azure IoT 基础设施。因此,我们无法正常维护 Azure IoT 中间件插件。除非 Azure IoT 用户愿意接手维护工作,否则我们将从代码库中移除该插件。
微软仍维护其 Azure SDK for Embedded C(ThreadX Azure IoT 中间件插件基于该 SDK 构建),这为用户提供了潜在的迁移路径。
IPsec
Eclipse ThreadX 代码库从未包含 IPsec 实现,但保留了添加该功能的钩子接口(因 ThreadX 开源前曾有商业版 IPsec 组件)。除非有贡献者为 NetX Duo 添加开源 IPsec 协议栈,否则我们计划未来移除这些钩子接口。
NetX Duo HTTP 服务器
NetX Duo HTTP 服务器因不支持 TLS 而存在安全隐患。该组件最初是作为故障排查工具加入代码库的,不应在生产环境中使用。我们强烈建议开发者改用支持 TLS 的 NextX Duo Web 服务器。
变更内容
- 优化 WebSocket 头部处理
- 实现 ECDHE_PSK 密码套件
- 处理 HTTP 429 状态码(#312)
- 修复 HKDF 实现,防止使用 NX_SECURE_KEY_CLEAR 编译时缓冲区溢出
- 修正 ECDHE_PSK 密码套件实现
5、GUIX更新
本版本修复了4444argb构建中的一个问题。
变更内容
- 修复不支持ARC绘制的4444argb构建问题
新贡献者
- @AJIOB 通过 #126 提交了首次贡献‘