FreeRTOS-Kernel 的问题 - CVE-2026-77234、CVE-2026-77235、CVE-2026-77236、CVE-2026-77237
公告 ID:2026-086-AWS
范围:AWS
内容类型:重要提示(需要注意)
发布日期:2026 年 8 月 21 日上午 10:30(太平洋夏令时)
描述:
FreeRTOS-Kernel 是用于微控制器和小型微处理器的实时操作系统内核。AWS 发现了 FreeRTOS-Kernel 的四个问题,这些问题影响多个版本。
- CVE-2026-77234:
软件定时器命令路径中不完整的命令验证允许非特权任务访问原本仅供内部调用的特权代码路径,从而导致在特权内核上下文中执行任意代码,并绕过 MPU 强制执行的任务隔离。此问题影响使用 FreeRTOS MPU 和软件定时器的配置;不使用 FreeRTOS MPU 的应用程序不受影响。 - CVE-2026-77235:
ARM TrustZone(ARMv8-M)安全上下文处理中缺少权限验证,导致非特权非安全任务在安全上下文仍在使用时释放该上下文,从而造成安全世界内存的释放后使用(use-after-free)以及安全上下文损坏,这通常会导致崩溃或未定义行为。此问题影响 ARM TrustZone(ARMv8-M)配置;不使用 ARM TrustZone 安全上下文的应用程序不受影响。 - CVE-2026-77236:
ARM TrustZone(ARMv8-M)安全上下文分配中缺少大小验证,导致非安全任务请求安全上下文时,如果堆栈大小不足,则可能触发对安全世界内存的越界写入,从而破坏相邻的安全堆控制结构,并通常导致崩溃或未定义行为。此问题影响 ARM TrustZone(ARMv8-M)配置;不使用 ARM TrustZone 安全上下文的应用程序不受影响。 - CVE-2026-77237:
队列集功能中缺少类型验证,导致可以将不符合规范的句柄添加到队列集中,进而导致后续的队列集操作在特权内核上下文中执行越界读取,并将读取的字节放入应用程序可读存储中。这会泄露特权内核内存的内容,并可能引发进一步的攻击。此问题会影响已启用队列集的构建版本;未启用队列集构建的应用程序不受影响。
受影响的版本:
- CVE-2026-77234:版本 >=7.0.0 且 <=11.3.0(已启用 MPU 的端口)
- CVE-2026-77235:版本 >=10.2.0 且 <=11.3.0(已启用 TrustZone 和 MPU 的 ARMv8-M 端口)
- CVE-2026-77236:版本 >=10.2.0 且 <=11.3.0(已启用 TrustZone 的 ARMv8-M 端口)
- CVE-2026-77237:版本 >=7.4.0 且 <=11.3.0(已启用 MPU 且 configUSE_QUEUE_SETS=1 的端口)
解决方法:
此问题已在 FreeRTOS-Kernel 版本 V11.3.1 中得到解决。建议您升级到最新版本,并确保对任何分叉代码或派生代码进行修补,以纳入新的修复程序。
临时措施:
- CVE-2026-77234:
不使用软件定时器时不存在风险。如果使用软件定时器,建议升级到已修复版本。 - CVE-2026-77235 和 CVE-2026-77236:
除了升级外,没有其他完整的解决方法;不使用 ARM TrustZone 安全上下文的应用程序不会受到影响。建议升级到已修复版本。 - CVE-2026-77237:
不使用队列集时不存在风险。如果使用队列集,建议升级到已修复版本。
参考:
- CVE-2026-77234
- CVE-2026-77235
- CVE-2026-77236
- CVE-2026-77237
- GHSA-w3vr-pr75-5hc6
- GHSA-55pf-q87x-c58c
- GHSA-vq2f-9qj3-jj2m
- GHSA-9wvc-hqvx-5wf5
致谢:
感谢 NVIDIA(Vanessa 项目)通过协调漏洞披露流程就此问题与我们合作。
如有任何安全问题或疑虑,请发送电子邮件至 aws-security@amazon.com。