Description
The Zephyr ext2 file system validates the on-disk superblock in ext2_verify_disk_superblock() (subsys/fs/ext2/ext2_impl.c) before completing a mount. The validator checked the magic number, block size, revision and feature flags, but did not verify that the on-disk fields s_blocks_per_group and s_inodes_per_group are non-zero. Both fields are read directly from the image and are later used as divisors during mount-time initialization.

During mount, get_ngroups() divides and modulos s_blocks_count by s_blocks_per_group (reached via ext2_fetch_block_group() from ext2_init_fs()), and get_itable_entry() divides (ino - 1) by s_inodes_per_group when fetching the root inode (both in subsys/fs/ext2/ext2_diskops.c). A superblock with either field set to zero therefore causes an integer division by zero during the mount sequence.

An attacker who can present a crafted ext2 image to a device that mounts ext2 — removable media such as an SD card or a USB mass-storage device — can trigger this. On ARMv7-M / ARMv8-M-mainline Cortex-M targets, divide-by-zero trapping is enabled (SCB_CCR_DIV_0_TRP), so the division raises a UsageFault that Zephyr treats as a fatal error, producing a denial of service. The impact is limited to availability; the malformed value is consumed only as a divisor.

The fix rejects a zero s_blocks_per_group or s_inodes_per_group in the superblock validator, returning -EINVAL so the mount fails before any block-group or inode I/O occurs.
Published: 2026-07-24
Score: 4.6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is an integer division by zero in the Zephyr ext2 file system. During mount, the superblock validator does not check that s_blocks_per_group and s_inodes_per_group are non‑zero. The mount process later uses these fields as divisors, and a zero value causes a division‑by‑zero fault when getting the number of groups or the inode table entry. The fault triggers a UsageFault in ARM Cortex‑M devices that have divide‑by‑zero trapping enabled, which Zephyr treats as a fatal error and results in a denial of service. The weakness is a classic CWE‑369 error causing a loss of availability.

Affected Systems

Zephyr RTOS is the affected vendor and product. Devices running Zephyr that mount ext2 file systems on ARMv7‑M or ARMv8‑M mainline Cortex‑M processors are impacted. The CVE entry does not list specific firmware or kernel versions, so any build that supports ext2 and mounts untrusted images is potentially vulnerable until the update is applied.

Risk and Exploitability

The CVSS score is 4.6, indicating a moderate severity, and the EPSS score is less than 1%, suggesting a very low likelihood of exploitation. The vulnerability is not listed in the CISA KEV catalog. An attacker must supply a crafted ext2 image to a device that mounts it; based on the description, network privilege is not required. Because the fault occurs during mount, an exploit will stop the system from booting or using the filesystem, causing a denial of service. No network privilege is required, and the impact is limited to the attacking device.

Generated by OpenCVE AI on August 3, 2026 at 20:18 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the Zephyr upstream patch that rejects zero s_blocks_per_group or s_inodes_per_group in the superblock validator and returns -EINVAL during mount.
  • Update your Zephyr firmware to a version where the patch is included before mounting any ext2 images.
  • Restrict access to removable media and only mount trusted ext2 images; consider configuring the system to refuse mounts from unverified sources.
  • Review the SCB_CCR_DIV_0_TRP setting on Cortex‑M devices and, if feasible, disable divide‑by‑zero trapping or implement exception handlers that recover instead of crashing.

Generated by OpenCVE AI on August 3, 2026 at 20:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 12 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:o:zephyrproject:zephyr:*:*:*:*:*:*:*:*

Fri, 24 Jul 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Zephyrproject
Zephyrproject zephyr
Vendors & Products Zephyrproject
Zephyrproject zephyr

Fri, 24 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Description The Zephyr ext2 file system validates the on-disk superblock in ext2_verify_disk_superblock() (subsys/fs/ext2/ext2_impl.c) before completing a mount. The validator checked the magic number, block size, revision and feature flags, but did not verify that the on-disk fields s_blocks_per_group and s_inodes_per_group are non-zero. Both fields are read directly from the image and are later used as divisors during mount-time initialization. During mount, get_ngroups() divides and modulos s_blocks_count by s_blocks_per_group (reached via ext2_fetch_block_group() from ext2_init_fs()), and get_itable_entry() divides (ino - 1) by s_inodes_per_group when fetching the root inode (both in subsys/fs/ext2/ext2_diskops.c). A superblock with either field set to zero therefore causes an integer division by zero during the mount sequence. An attacker who can present a crafted ext2 image to a device that mounts ext2 — removable media such as an SD card or a USB mass-storage device — can trigger this. On ARMv7-M / ARMv8-M-mainline Cortex-M targets, divide-by-zero trapping is enabled (SCB_CCR_DIV_0_TRP), so the division raises a UsageFault that Zephyr treats as a fatal error, producing a denial of service. The impact is limited to availability; the malformed value is consumed only as a divisor. The fix rejects a zero s_blocks_per_group or s_inodes_per_group in the superblock validator, returning -EINVAL so the mount fails before any block-group or inode I/O occurs.
Title Division by zero in Zephyr ext2 superblock parsing allows DoS via crafted filesystem image
Weaknesses CWE-369
References
Metrics cvssV3_1

{'score': 4.6, 'vector': 'CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Subscriptions

Zephyrproject Zephyr
cve-icon MITRE

Status: PUBLISHED

Assigner: zephyr

Published:

Updated: 2026-07-24T15:04:01.152Z

Reserved: 2026-04-24T22:00:52.689Z

Link: CVE-2026-7007

cve-icon Vulnrichment

Updated: 2026-07-24T15:03:52.291Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-24T15:19:08.047

Modified: 2026-08-12T20:43:12.787

Link: CVE-2026-7007

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T20:30:04Z

Weaknesses