CVE-2026-89584
High · 7.8CVSS
7.8
EPSS
0.2%
Published
Sep 11, 2026
CISA due date
—
Cloudanix analysis
A Linux storage bug can let an ordinary local user crash a machine or take it over by sending badly aligned disk requests, so systems should be updated.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The Linux kernel block layer did not validate that userspace I/O vectors meet a device's dma_alignment when a bio is built from an iov_iter. Bio-based drivers often skip alignment splits, and stacking drivers may not handle misalignment discovered only after bio submission, so misaligned buffers can reach DMA mapping and I/O completion. That can corrupt kernel memory, panic the host, or yield a local code-execution or privilege-escalation primitive (High CIA impact on the kernel).
Why it matters to the business
Any Linux host where untrusted local users can open block or stacked-block devices can be crashed or fully taken over, causing outages and loss of host integrity. The kernel is nearly universal, so blast radius is large even without a listed dependent count. The issue is not in CISA KEV, has no known ransomware use, exploit maturity is none, and EPSS is low and flat (~0.00165 over 30 days), so opportunistic mass exploitation is unlikely today; still patch promptly because a single local foothold can become kernel control.
How an attack unfolds
An attacker who already has a local unprivileged account targets a bio-based or stacking block device. They submit vectored userspace I/O whose buffer addresses or lengths violate the device dma_alignment. The kernel constructs a bio without rejecting those vectors, then submits it. Drivers that do not re-check alignment perform misaligned DMA or fail while splitting the bio, producing a kernel oops, memory corruption, or an exploitable primitive the attacker tries to convert into denial of service or root. No public exploit, named threat actor, or KEV campaign is associated with this flaw.
How to fix it
Install a Linux kernel that includes the fix 'block: validate user space vectors during extraction', which checks userspace vectors against the device dma_alignment while the bio is built from the iov_iter and fails the request early with -EINVAL. This record lists no package-specific fixed versions, so take the patched kernel from your distribution or stable tree, deploy it, and reboot. Until then, deny untrusted users access to raw, loop, device-mapper, and other stacking block devices via groups, udev, and LSM policy.
How to confirm the fix worked
Confirm the running kernel changelog or stable git history contains the dma_alignment check during bio extraction from iov_iter, then reboot onto that kernel. After the fix, misaligned vectored I/O to a block device should return EINVAL and must not reach the driver. Inventory remaining pre-fix kernels and review dmesg/journal for leftover block-layer oopses or DMA mapping failures.
Typical attack path
- Gain local unprivileged execution on a Linux system with access to a block or stacked-block device.
- Choose a bio-based or stacking target whose driver does not re-validate DMA alignment after bio submission.
- Submit vectored userspace I/O with buffers that violate the device dma_alignment.
- Allow the kernel to build a bio from the iov_iter without early rejection.
- Trigger driver processing of the misaligned bio to cause a crash or kernel-memory corruption.
- If corruption is achieved, attempt to escalate to kernel/root or leave the host in a denied-service state.
How to detect it
No public exploit or named actor activity is known, so detection is retrospective host forensics rather than malware IOCs. Search kernel logs (journald, kmsg, dmesg), kdump/vmcore, and panic records for oopses, BUGs, or DMA mapping failures in bio, iov_iter, block, or stacking-driver paths, especially from processes issuing vectored I/O to block devices. Post-fix EINVAL on misaligned I/O is intended fail-closed behavior, not compromise. Lack of crash artifacts does not prove the bug was never hit.
What your security team should do
- Patch and reboot Linux hosts, starting with multi-tenant, developer, and CI systems where local users can reach block devices, despite low EPSS and no KEV listing.
- Until vendor kernels are installed, restrict open/read/write on raw and stacked block devices for untrusted accounts.
- Track distribution backport status; this advisory does not name exact fixed versions.
- Hunt historical kernel logs and crash dumps for block/bio/DMA oopses that could indicate triggering.
- Treat residual unpatched kernels as a local privilege-escalation exposure in risk reporting.
The record
In the Linux kernel, the following vulnerability has been resolved: block: validate user space vectors during extraction The bio-based drivers don't necessarily check the alignment split, and stacking block drivers don't always handle a misalignment detected after submitting the bio. Validate user vectors against the device's dma_alignment as the bio is built from the iov_iter, rejecting misaligned early with -EINVAL.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|