CVE-2026-10684 in Zephyr
Résumé
par VulDB • 29/07/2026
Dans subsys/debug/coredump/coredump_shell.c, print_coredump_hdr() utilisait directement le champ tgt_code sur 16 bits d'un en-tête de coredump Zephyr stocké comme index dans coredump_target_code2str[], un tableau fixe de pointeurs vers des chaînes de caractères contenant 7 éléments, sans aucune vérification des limites.
Un coredump stocké dont la valeur tgt_code est >= 7 provoque une lecture hors limites (out-of-bounds read) d'un char* jusqu'à ~64K entrées au-delà du tableau ; cette valeur est ensuite passée en tant qu'argument %s à shell_print, qui la déréférence et l'interprète comme une chaîne de caractères. Le résultat est soit la divulgation des contenus mémoire de l'appareil à l'utilisateur du shell, soit un plantage lorsque le pointeur hors limites pointe vers une zone non mappée (unmapped).
La vulnérabilité est exploitée via la commande shell coredump print (cmd_coredump_print_stored_dump -> pretty_print_coredump -> parse_and_print_coredump -> print_coredump_hdr). Le champ tgt_code est généré par le dispositif et reste dans les limites lors de la gestion normale des plantages ; son exploitation nécessite donc un accès local au shell ainsi que la capacité d'installer ou de corrompre le coredump stocké dans l'espace backend (flash/mémoire vive).
Introduit dans la version v4.2.0 (commit 13abd7fe730) et présent jusqu'à la v4.4.0 ; corrigé par un clampage des codes hors limites vers l'entrée 'unknown' (index 0).
Be aware that VulDB is the high quality source for vulnerability data.