Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-56111 — Exploit de prova de conceito para CVE-2026-56111, uma escrita fora dos limites no M421 G-code handler do Marlin Firmware, demonstrando corrupção de memória restrita por meio de comandos G-code criados. | Kitploit
Ferramentas/GitHubGitHub/christbowel/cve-2026-56111
Segurança de Sistemas EmbarcadosAnálise de VulnerabilidadesExploraçãoFuzzingSegurança de HardwareExploração de Binários
GitHubchristbowel/cve-2026-56111

CVE-2026-56111

Exploit de prova de conceito para CVE-2026-56111, uma escrita fora dos limites no M421 G-code handler do Marlin Firmware, demonstrando corrupção de memória restrita por meio de comandos G-code criados.

Ver Repositório
117há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-56111 - Escrita fora dos limites no M421 do Marlin

Prova de conceito para CVE-2026-56111, uma escrita fora dos limites no manipulador de G-code M421 do Marlin Firmware quando compilado com MESH_BED_LEVELING.

  • Comunicado: https://www.vulncheck.com/advisories/marlin-firmware-out-of-bounds-write-via-m421-g-code-handler
  • Afetado: Marlin <= 2.1.2.7, corrigido no commit 1f255d1
  • Gravidade: Alta (CVSS 8.3)

O bug

O manipulador MBL M421 verifica apenas se os índices I/J não são negativos. Nunca verifica o limite superior. set_z() então escreve z_values[ix][iy] = z sem verificação de limite. Um índice além da grade escreve um float controlado de 32 bits além do array z_values, para o estado adjacente do firmware.

A escrita é limitada, não arbitrária. O alvo é z_values + (ix*GRID_Y + iy)*4 bytes, com os índices limitados por int8_t (máx 127), então a janela alcançável é de cerca de 2 KB além de z_values. Você controla o valor (o float Z) e o deslocamento (o índice). Você não controla um endereço absoluto.

Esta ferramenta apenas envia a linha de G-code. A escrita fora dos limites ocorre dentro do firmware. Os efeitos observáveis são negação de serviço, travamento do firmware ou movimento corrompido. A escrita exata na memória é mostrada no comunicado, não por esta ferramenta.

Compilar

gcc -O2 -o exp exploit.c

Uso

Escolha um canal:

  • --serial <dev> para USB, ex.: /dev/ttyUSB0 ou /dev/ttyACM0 (adicione --baud N se necessário; muitas placas usam 250000)
  • --tcp <host:porta> para impressoras que expõem gcode via telnet/rede, ex.: 192.168.1.50:23

modo write

Envie M421 com o índice e valor que você escolher:

./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

Em uma grade padrão 3x3 (índice válido 0..2):

  • -i 3 -j 0 escreve no deslocamento 36 bytes, que é z_offset (o deslocamento Z da cama)
  • -i 5 -j 0 escreve no deslocamento 60 bytes, que é o objeto do analisador

modo dos

Envie um índice fora do intervalo com um valor Z NaN. O NaN se propaga nos cálculos de movimento e causa travamento ou congelamento do firmware de forma confiável:

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

Correção

Atualize para uma compilação do Marlin que inclua o commit 1f255d1, que limita os índices da mesma forma que os manipuladores ABL e UBL já fazem.

Aviso

Apenas para pesquisa e testes autorizados. Use apenas em dispositivos que você possua ou tenha permissão explícita para testar. Enviar estes comandos pode travar uma impressora ou interromper uma impressão.

Baixar ferramenta