ZephyrProject Zephyr up to 4.4.x ext2 ext2_impl.c ext2_verify_disk_superblock s_blocks_per_group/s_inodes_per_group divide by zero
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.2 | $0-$5k | 3.89 |
Summary
A vulnerability marked as critical has been reported in ZephyrProject Zephyr up to 4.4.x. This issue affects the function ext2_verify_disk_superblock of the file subsys/fs/ext2/ext2_impl.c of the component ext2. The manipulation of the argument s_blocks_per_group/s_inodes_per_group leads to divide by zero.
This vulnerability is referenced as CVE-2026-7007. Remote exploitation of the attack is possible. No exploit is available.
Details
A vulnerability, which was classified as critical, has been found in ZephyrProject Zephyr up to 4.4.x. This issue affects the function ext2_verify_disk_superblock of the file subsys/fs/ext2/ext2_impl.c of the component ext2. The manipulation of the argument s_blocks_per_group/s_inodes_per_group with an unknown input leads to a divide by zero vulnerability. Using CWE to declare the problem leads to CWE-369. The product divides a value by zero. Impacted is availability. The summary by CVE is:
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.
The advisory is shared at github.com. The identification of this vulnerability is CVE-2026-7007 since 04/25/2026. The exploitation is known to be easy. The attack may be initiated remotely. No form of authentication is needed for a successful exploitation. Technical details are known, but no exploit is available. MITRE ATT&CK project uses the attack technique T1499 for this issue.
Upgrading to version 4.5.0 eliminates this vulnerability. Applying the patch babc0900ed40e6c023ccc26aa1a321f9388b66af is able to eliminate this problem.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Product
Type
Vendor
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.5VulDB Meta Temp Score: 7.2
VulDB Base Score: 7.5
VulDB Temp Score: 7.2
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Divide by zeroCWE: CWE-369 / CWE-404
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Zephyr 4.5.0
Patch: babc0900ed40e6c023ccc26aa1a321f9388b66af
Timeline
04/25/2026 CVE reserved07/24/2026 Advisory disclosed
07/24/2026 VulDB entry created
07/24/2026 VulDB entry last update
Sources
Advisory: github.comStatus: Confirmed
CVE: CVE-2026-7007 (🔒)
GCVE (CVE): GCVE-0-2026-7007
GCVE (VulDB): GCVE-100-382925
Entry
Created: 07/24/2026 16:59Changes: 07/24/2026 16:59 (60)
Complete: 🔍
Cache ID: 216::103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
No comments yet. Languages: en.
Please log in to comment.