CVE-2026-93186 in Linuxinfo

Summary

by MITRE • 09/18/2026

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

cxl/mbox: Clamp mailbox output allocation to the payload size

CXL_MEM_SEND_COMMAND bounds the user's in.size to the mailbox payload size but leaves out.size unbounded, then cxl_mbox_cmd_ctor() calls kvzalloc(out.size). A large out.size drives a huge allocation, above INT_MAX it WARNs and taints, and with panic_on_warn=1 it panics.

The transport __cxl_pci_mbox_send_cmd() already clamps the response copy to min(out.size, payload_size, device len), so the output buffer is never written beyond payload_size. Clamp the allocation to payload_size too, matching the RAW path.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 09/18/2026

This vulnerability represents a critical resource exhaustion flaw within the Linux kernel's Compute Express Link mailbox command handling subsystem. The issue stems from an asymmetry in input validation logic where the size of user-provided input data is strictly bounded against the maximum allowable mailbox payload, yet the corresponding output buffer allocation remains unbounded relative to that same limit. When a user-space application invokes the CXL_MEM_SEND_COMMAND ioctl interface, it provides both an input size and an expected output size. While the kernel correctly restricts the in.size parameter to prevent oversized inputs from overwhelming internal buffers, it fails to apply similar constraints to out.size before proceeding with memory allocation. This oversight allows a malicious or compromised user-space process to specify an arbitrarily large value for the desired output buffer size, triggering excessive resource consumption within the kernel space without immediate rejection by the validation logic.

The technical root cause lies in the cxl_mbox_cmd_ctor function which utilizes kvzalloc to allocate memory based on the unclamped out.size parameter. If this specified size exceeds INT_MAX, the allocation mechanism triggers a warning and marks the system as tainted due to potential instability or security risks associated with such large allocations. In configurations where panic_on_warn is enabled, typically found in hardened production environments or strict compliance setups, this condition results in an immediate kernel panic rather than a graceful error return. This behavior effectively transforms what could be managed as a resource limit violation into a denial-of-service vector capable of crashing the entire operating system instance hosting the vulnerable CXL subsystem.

From an operational impact perspective, this flaw allows for local privilege escalation via denial of service or potentially remote exploitation if the affected kernel module is exposed through network-attached storage interfaces that utilize CXL protocols. An attacker with access to the device node associated with the CXL mailbox can craft a command payload specifying a massive out.size value. This forces the kernel to attempt allocating gigabytes or terabytes of contiguous physical memory, leading to system instability, performance degradation due to memory pressure, or complete system halt depending on available resources and configuration settings. The vulnerability is particularly dangerous because it exploits legitimate administrative interfaces used for device management, making detection by standard intrusion prevention systems difficult without deep packet inspection capabilities tailored for kernel syscall anomalies.

Mitigation strategies should focus on enforcing strict bounds checking at the earliest possible point in the command processing pipeline. Developers must ensure that out.size is clamped to match payload_size before any memory allocation attempts are made, mirroring the logic already present in the RAW path and the transport layer function __cxl_pci_mbox_send_cmd which correctly limits response copying operations. This alignment ensures consistency across different execution paths within the CXL subsystem. Additionally, system administrators should review kernel configuration parameters such as panic_on_warn to assess risk exposure, though this is a compensating control rather than a fix for the underlying code defect. Patching involves updating the cxl/mbox driver module in the Linux kernel source tree to include explicit size validation checks that cap out.size against the device's maximum payload capacity before invoking allocation routines.

This vulnerability aligns with CWE-789, which describes memory allocation without proper limits leading to resource exhaustion or buffer overflows via large input values. It also relates to CWE-20 regarding improper input validation where only one dimension of a multi-dimensional request is validated while others are ignored. In the context of the MITRE ATT&CK framework, this flaw facilitates Local Privilege Escalation through Denial of Service techniques, specifically leveraging kernel-level resource manipulation to disrupt service availability. Remediation requires applying vendor-supplied patches that address the asymmetry in size validation within the CXL mailbox command constructor function to ensure all buffer sizes are constrained by hardware-defined limits prior to allocation.

Responsible

Linux

Reservation

09/17/2026

Disclosure

09/18/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!