# CVE-2026-46294: dm: fix a buffer overflow in ioctl processing

> A buffer overflow in the Linux kernel device mapper ioctl processing could allow local attackers with root privileges to execute arbitrary code.

- **Severity:** High 7.8 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 8 Jun 2026
- **Updated:** 15 Oct 2026
- **Also known as:** AZL-89613, BELL-CVE-2026-46294, DEBIAN-CVE-2026-46294, GHSA-c9hh-9962-q529, OESA-2026-2753, ROOT-OS-DEBIAN-11-CVE-2026-46294, ROOT-OS-DEBIAN-12-CVE-2026-46294, UBUNTU-CVE-2026-46294

## What is CVE-2026-46294?

CVE-2026-46294 is a high-severity memory corruption vulnerability in Linux kernel, published on 8 Jun 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

In the Linux kernel, the following vulnerability has been resolved:

dm: fix a buffer overflow in ioctl processing

Tony Asleson (using Claude) found a buffer overflow in dm-ioctl in the
function retrieve_status:

1. The code in retrieve_status checks that the output string fits into
   the output buffer and writes the output string there
2. Then, the code aligns the "outptr" variable to the next 8-byte
   boundary:
	outptr = align_ptr(outptr);
3. The alignment doesn't check overflow, so outptr could point past the
   buffer end
4. The "for" loop is iterated again, it executes:
	remaining = len - (outptr - outbuf);
5. If "outptr" points past "outbuf + len", the arithmetics wraps around
   and the variable "remaining" contains unusually high number
6. With "remaining" being high, the code writes more data past the end of
   the buffer

Luckily, this bug has no security implications because:
1. Only root can issue device mapper ioctls
2. The commonly used libraries that communicate with device mapper
   (libdevmapper and devicemapper-rs) use buffer size that is aligned to
   8 bytes - thus, "outptr = align_ptr(outptr)" can't overshoot the input
   buffer and the bug can't happen accidentally

Weakness: CWE-787 (Out-of-bounds Write)

## Which versions are affected by CVE-2026-46294?

It affects 1 product.


Products: Linux kernel.

## How do I fix CVE-2026-46294?

Apply the vendor's patch.

## Is CVE-2026-46294 being exploited?

There is no known exploitation of CVE-2026-46294 in the wild and no public exploit code.

## Other vulnerabilities in Linux kernel

- [CVE-2026-53266](https://insights.sbomify.com/CVE-2026-53266/): Linux Kernel Out-of-Bounds Write (high 8.8, exploited in the wild)
- [CVE-2013-6282](https://insights.sbomify.com/CVE-2013-6282/): Linux Kernel Improper Input Validation (high 8.8, exploited in the wild)
- [CVE-2022-0185](https://insights.sbomify.com/CVE-2022-0185/): Linux Kernel Heap-Based Buffer Overflow (high 8.4, exploited in the wild)
- [CVE-2013-2094](https://insights.sbomify.com/CVE-2013-2094/): Linux Kernel Privilege Escalation (high 8.4, exploited in the wild)
- [CVE-2026-53362](https://insights.sbomify.com/CVE-2026-53362/): Linux Kernel Unspecified (high 7.8, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-46294 and fix it if it is affected.

What it is: CVE-2026-46294 is a high-severity memory corruption vulnerability in Linux kernel, published on 8 Jun 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-46294 in the wild and no public exploit code.

Affected product: Linux kernel. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-46294/ (Markdown: https://insights.sbomify.com/CVE-2026-46294/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-46294
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-46294
- OSV: https://osv.dev/vulnerability/CVE-2026-46294

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-46294/
Summaries are generated and may contain mistakes; the official description above is the record.
