CVE-2026-18220
Binutils:binutils:bfd dlx elf 后端重定位处理中的越界写入
- 已发布
- 2026年7月29日
- 已更新
- 2026年7月29日
- 分配 CNA
- redhat
- 观察到的证据
- 2026年8月5日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 7.7%
- 型号日期
- 2026年10月17日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
在 GNU binutils 的 BFD 库 DLX ELF 后端(bfd/elf32-dlx.c)中发现了一个越界写入漏洞。`dlx_rtype_to_howto()` 函数将 ELF 重定位类型映射到内部 howto 结构,但在通过 `ELF32_R_TYPE(r_info)` 索引 `dlx_elf_howto_table[]` 数组之前,未能对攻击者控制的重定位类型值进行充分的边界检查。DLX 重定位类型编号空间是非连续的(基本类型 0-6,扩展类型位于 0x10000+),但 switch 语句中的 default 分支允许任意索引值到达数组访问。特制的 ELF/DLX 目标文件在被任何使用 BFD 的工具(objdump、readelf、strip、ld、nm、objcopy)处理时,可能触发此越界写入。该漏洞已被证明可通过针对 glibc FILE 结构(stderr)的文件流导向编程(FSOP)攻击实现任意代码执行,将控制流重定向到 `system()`。攻击场景包括:执行自动化二进制分析的 CI/CD 流水线、对不可信二进制文件运行 objdump/readelf 的开发者工作站、调用 binutils 的自动化安全扫描或恶意软件分析工具,以及处理第三方代码的软件包构建系统。注意:仅当 binutils 以 DLX 后端(通常通过 `--enable-targets=all`)构建时,该漏洞才可利用。
来源
概念验证(PoC),演示了 CVE-2026-18220,即 GNU binutils 的 DLX ELF 后端中的一个越界(OOB)写入漏洞(具体通过 `objdump -g` 触发)。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。