CVE-2026-7007 in Zephyrinformation

Résumé

par VulDB • 24/07/2026

Le système de fichiers ext2 de Zephyr valide le superbloc sur disque dans `ext2_verify_disk_superblock()` (subsys/fs/ext2/ext2_impl.c) avant d'achever un montage. Le validateur vérifie le nombre magique, la taille des blocs, la révision et les indicateurs de fonctionnalités, mais ne vérifie pas que les champs du superbloc sur disque `s_blocks_per_group` et `s_inodes_per_group` sont non nuls. Ces deux champs sont lus directement depuis l'image et utilisés ultérieurement comme diviseurs lors de l'initialisation au moment du montage.

Lors du montage, `get_ngroups()` effectue une division entière et un modulo de `s_blocks_count` par `s_blocks_per_group` (atteint via `ext2_fetch_block_group()` depuis `ext2_init_fs()`), et `get_itable_entry()` divise `(ino - 1)` par `s_inodes_per_group` lors de la récupération du nœud racine (toutes deux dans subsys/fs/ext2/ext2_diskops.c). Un superbloc dont l'un des ces champs est défini à zéro provoque donc une division entière par zéro pendant la séquence de montage.

Un attaquant capable de présenter une image ext2 truquée à un appareil effectuant le montage d'ext2 — support amovible tel qu'une carte SD ou un périphérique de stockage de masse USB — peut déclencher ce problème. Sur les cibles Cortex-M ARMv7-M / ARMv8-M-mainline, la capture des divisions par zéro est activée (`SCB_CCR_DIV_0_TRP`), de sorte que la division génère une `UsageFault` que Zephyr traite comme une erreur fatale, entraînant un déni de service. L'impact se limite à la disponibilité ; la valeur malformée n'est consommée qu'en tant que diviseur.

La correction rejette un `s_blocks_per_group` ou un `s_inodes_per_group` nul dans le validateur du superbloc, renvoyant `-EINVAL`, ce qui fait échouer le montage avant toute opération d'E/S de groupe de blocs ou de nœud inode.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Zephyr

Réserver

25/04/2026

Divulgation

24/07/2026

Modérer

accepté

Entrée

VDB-382925

CPE

prêt

EPSS

0.00155

KEV

non

Activités

très faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!