Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/christbowel/cve-2026-56111
嵌入式系统安全漏洞分析漏洞利用模糊测试硬件安全二进制利用
GitHubchristbowel/cve-2026-56111

CVE-2026-56111

概念验证漏洞利用,针对 Marlin 固件 M421 G 代码处理程序中的 CVE-2026-56111 越界写入漏洞,展示通过特制 G 代码命令实现的受限内存破坏。

查看仓库
1123个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-56111 - Marlin M421 越界写入

针对CVE-2026-56111的概念验证,该漏洞是Marlin固件在启用MESH_BED_LEVELING构建时,M421 G代码处理程序中的越界写入。

  • 公告:https://www.vulncheck.com/advisories/marlin-firmware-out-of-bounds-write-via-m421-g-code-handler
  • 受影响:Marlin <= 2.1.2.7,在提交1f255d1中修复
  • 严重性:高(CVSS 8.3)

漏洞描述

MBL的M421处理程序仅检查I/J索引是否为负,但从未检查上限。然后set_z()在没有边界检查的情况下写入z_values[ix][iy] = z。超出网格的索引会在z_values数组之后写入一个受控的32位浮点数,进入相邻的固件状态。

该写入是受限的,而非任意。目标地址为z_values + (ix*GRID_Y + iy)*4字节,索引受int8_t约束(最大127),因此可达窗口约为z_values后2 KB。你可以控制值(Z浮点数)和偏移量(索引),但不能控制绝对地址。

此工具仅发送G代码行。越界写入发生在固件内部。可观察到的效果是拒绝服务、固件崩溃或运动损坏。确切的内存写入在公告中展示,而非此工具。

构建

gcc -O2 -o exp exploit.c

使用

选择一个通道:

  • --serial <dev> 用于USB,例如 /dev/ttyUSB0 或 /dev/ttyACM0(如需可加上--baud N;许多主板使用250000)
  • --tcp <host:port> 用于暴露telnet/网络gcode的打印机,例如 192.168.1.50:23

写入模式

发送带有你选择的索引和值的M421:

./exp --serial /dev/ttyUSB0 write -i 3 -j 0 -z 99.0
./exp --tcp 192.168.1.50:23  write -i 5 -j 0 -z 99.0

在默认的3x3网格上(有效索引0..2):

  • -i 3 -j 0 在偏移36字节处写入,即z_offset(热床Z偏移)
  • -i 5 -j 0 在偏移60字节处写入,即解析器对象

拒绝服务模式

发送一个超出范围的索引,并带有NaN的Z值。NaN会传播到运动计算中,并可靠地导致固件崩溃或挂起:

./exp --serial /dev/ttyUSB0 dos
./exp --tcp 192.168.1.50:23  dos

修复

更新至包含提交1f255d1的Marlin构建,该提交以与ABL和UBL处理程序相同的方式约束了索引。

免责声明

仅用于研究和授权测试。仅在你拥有或已获得明确许可进行测试的设备上使用。发送这些命令可能导致打印机崩溃或中断打印。

下载工具