CVE-2026-37540OpenAMP v2025.10.0版本的ELF加载器中存在一个高危漏洞。该漏洞源于在解析固件镜像时,`elf_loader.c`文件对ELF头中的两个16位值进行乘法运算,且未进行必要的溢出检查。在32位嵌入式系统(如STM32MP1、Zynq和i.MX)上,攻击者可通过控制这两个值导致乘积发生回绕,从而分配过小的内存缓冲区。该漏洞可被利用于触发内存破坏,导致系统崩溃或潜在的代码执行。
该漏洞位于OpenAMP的ELF加载器组件中,具体涉及`elf_loader.c`文件对固件镜像的解析过程。代码逻辑直接从ELF头部提取两个由攻击者控制的16位数值进行相乘,以计算后续操作所需的内存大小。由于未实施乘法溢出检测,当输入足够大的数值时(例如0x8000),计算结果在32位架构下会发生整数回绕,导致结果值远小于实际需要的字节数。随后,程序基于这个错误的小值分配缓冲区,却尝试写入基于原始大数值的数据量。这种不匹配导致堆缓冲区溢出,允许攻击者覆盖相邻内存区域。结合CVSS向量(AV:L/AC:L/PR:N),攻击者需具备本地访问能力(如加载恶意固件),一旦利用成功,可完全破坏系统的机密性、完整性和可用性。