Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-56111 — Exploit de preuve de concept pour CVE-2026-56111, une écriture hors limites dans le gestionnaire de code G M421 du firmware Marlin, démontrant une corruption mémoire contrainte via des commandes G-code conçues. | Kitploit
Outils/GitHubGitHub/christbowel/cve-2026-56111
Sécurité des Systèmes EmbarquésAnalyse des VulnérabilitésExploitationFuzzingSécurité MatérielleExploitation de Binaires
GitHubchristbowel/cve-2026-56111

CVE-2026-56111

Exploit de preuve de concept pour CVE-2026-56111, une écriture hors limites dans le gestionnaire de code G M421 du firmware Marlin, démontrant une corruption mémoire contrainte via des commandes G-code conçues.

Voir le dépôt
1il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-56111 - Écriture hors limites dans Marlin M421

Preuve de concept pour CVE-2026-56111, une écriture hors limites dans le gestionnaire de code G M421 du Marlin Firmware lorsqu'il est compilé avec MESH_BED_LEVELING.

  • Avis : https://www.vulncheck.com/advisories/marlin-firmware-out-of-bounds-write-via-m421-g-code-handler
  • Affecté : Marlin <= 2.1.2.7, corrigé dans le commit 1f255d1
  • Sévérité : Élevée (CVSS 8.3)

Le bogue

Le gestionnaire MBL M421 vérifie uniquement que les indices I/J ne sont pas négatifs. Il ne vérifie jamais la borne supérieure. set_z() écrit alors z_values[ix][iy] = z sans vérification de limite. Un indice au-delà de la grille écrit un flottant 32 bits contrôlé au-delà du tableau z_values, dans l'état adjacent du firmware.

L'écriture est contrainte, pas arbitraire. La cible est z_values + (ix*GRID_Y + iy)*4 octets, avec les indices limités par int8_t (max 127), donc la fenêtre accessible est d'environ 2 Ko au-delà de z_values. Vous contrôlez la valeur (le flottant Z) et le décalage (l'indice). Vous ne contrôlez pas une adresse absolue.

Cet outil envoie uniquement la ligne de code G. L'écriture hors limites se produit à l'intérieur du firmware. Les effets observables sont un déni de service, un crash du firmware ou un mouvement corrompu. L'écriture mémoire exacte est montrée dans l'avis, pas par cet outil.

Compilation

root@kitploit:~
gcc -O2 -o exp exploit.c

Utilisation

Choisissez un canal :

  • --serial <dev> pour USB, par ex. /dev/ttyUSB0 ou /dev/ttyACM0 (ajoutez --baud N si nécessaire ; de nombreuses cartes utilisent 250000)
  • --tcp <host:port> pour les imprimantes exposant du code G telnet/réseau, par ex. 192.168.1.50:23

mode écriture

Envoyez M421 avec l'indice et la valeur de votre choix :

root@kitploit:~
./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

Sur une grille 3x3 par défaut (indice valide 0..2) :

  • -i 3 -j 0 écrit au décalage 36 octets, qui est z_offset (le décalage Z du plateau)
  • -i 5 -j 0 écrit au décalage 60 octets, qui est l'objet du parseur

mode dos

Envoyez un indice hors plage avec une valeur NaN pour Z. Le NaN se propage dans les calculs de mouvement et plante ou bloque le firmware de manière fiable :

root@kitploit:~
./exp --serial /dev/ttyUSB0 dos
./exp --tcp 192.168.1.50:23  dos

Correctif

Mettez à jour vers une compilation de Marlin qui inclut le commit 1f255d1, qui limite les indices de la même manière que les gestionnaires ABL et UBL le font déjà.

Avertissement

Pour la recherche et les tests autorisés uniquement. Utilisez uniquement sur les appareils que vous possédez ou pour lesquels vous avez l'autorisation explicite de tester. L'envoi de ces commandes peut planter une imprimante ou perturber une impression.

Télécharger l’outil