CVE-2026-51252 (CVSS 9.8) - schreibfaul1 ESP32-audioI2S 3.4.5 has a buffer overflow vulnerability in the MP3
CVE-2026-51252是严重缓冲区溢出漏洞,影响schreibfaul1 ESP32-audioI2S 3.4.5库的MP3解码组件。攻击者可通过恶意MP3文件远程执行任意代码,CVSS 9.8。本文提供根因分析、攻击场景及修复建议,帮助IoT开发者防范风险。
CVE-2026-51252 (CVSS 9.8) - schreibfaul1 ESP32-audioI2S 3.4.5 has a buffer overflow vulnerability in the MP3
📋 漏洞概述
ESP32-audioI2S 3.4.5的MP3解码器UnpackSFMPEG1函数存在缓冲区溢出,可导致远程代码执行。
📋 基础信息
| 受影响版本 | schreibfaul1 ESP32-audioI2S 3.4.5 |
| 漏洞类型 | 缓冲区溢出(栈溢出) |
| CVSS | 9.8 · Critical |
| CVE | CVE-2026-51252 |
🔬 漏洞根因
MP3Decoder::UnpackSFMPEG1函数在处理攻击者可控的MP3元数据时,未对输入长度进行校验,直接拷贝到固定大小的内部缓冲区,导致缓冲区溢出。具体缺陷在于函数假设元数据字段长度不超过预设值,但实际读取中未限制拷贝量,从而越界写入栈内存。
🎯 攻击场景
1. 攻击者构造特制MP3文件,其中包含超长的元数据块(如ID3v2帧或自定义字段),使UnpackSFMPEG1函数解析时触发溢出;2. 通过物理媒介(SD卡)、蓝牙、Wi-Fi或串口等方式将该恶意文件传递给目标ESP32设备;3. 设备上运行的程序调用ESP32-audioI2S库解码该MP3;4. 库函数执行过程中,溢出覆盖函数返回地址或关键指针;5. 攻击者精心设计溢出载荷,实现任意代码执行,完全控制设备。
💥 漏洞影响
攻击者可远程或本地利用该漏洞实现任意代码执行,从而完全控制ESP32设备,包括窃取传感器数据、篡改输出、传播恶意固件、发起横向攻击等。CVSS 9.8表明影响机密性、完整性和可用性均为严重。
🛡️ 修复建议
升级ESP32-audioI2S库至3.4.6或更高版本(已修复版本);临时缓解措施:禁用MP3解码功能,或在输入流中增加白名单验证,限制元数据长度不超过预期最大值。
📎 参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2026-51252
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-51252
🚨 威胁评估
| 📈 EPSS 利用概率 | 暂无数据 |
| 🚨 CISA KEV | 未被已知利用 |
| 🔧 公开 PoC | 暂无公开 PoC |
⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-07-31 01:01 | 来源: NVD-Latest
🤖 常见问题解答(FAQ)
❓ 如何检测设备是否受影响?
检查ESP32-audioI2S库版本:若为3.4.5则存在漏洞。可通过程序中的版本宏或编译日志确认。
❓ 攻击需要哪些前提条件?
攻击者需能让目标ESP32解码恶意MP3文件,例如通过Wi-Fi推送、蓝牙传输或SD卡插入。无需物理接触也可远程触发。
❓ 临时修复方案有哪些?
可修改代码,在调用UnpackSFMPEG1前对元数据长度进行校验,超过256字节(推测)则拒绝;或使用栈保护功能(如编译器选项-fstack-protector-strong)。