HIGH 7.5

CVE-2026-53923: vLLM GPU Memory Information Disclosure in GGUF Dequantize Kernels

vLLM, a popular inference engine for large language models, contains a memory leak vulnerability in how it processes quantized model weights. When the system allocates GPU memory for output tensors, a mathematical error causes the processing kernel to only fill part of the allocated space, leaving the remainder untouched. In shared multi-user deployments, this unfilled memory may contain sensitive inference data from other users' requests—potentially exposing prompts, model outputs, or intermediate computations. The flaw affects all versions from 0.5.5 through 0.23.0, and is resolved in version 0.23.1rc0 and later.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses (CWE)
CWE-200, CWE-681
Affected products
1 configuration(s)
Published / Modified
2026-06-22 / 2026-06-24

NVD description (verbatim)

vLLM is an inference and serving engine for large language models (LLMs). From 0.5.5 until 0.23.1rc0, integer truncation of tensor dimensions in vLLM's GGUF dequantize kernels (csrc/quantization/gguf/gguf_kernel.cu) causes partial tensor processing. The output tensor is allocated at full size via torch::empty (uninitialized memory), but the dequantize CUDA kernel processes only a truncated number of elements. The unfilled portion of the output tensor retains whatever was previously in GPU memory. In multi-tenant inference deployments, this residual GPU memory may contain tensor data from other users' inference requests, constituting information disclosure. This vulnerability is fixed in 0.23.1rc0.

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The GGUF dequantize kernel (csrc/quantization/gguf/gguf_kernel.cu) in vLLM performs integer truncation of tensor dimensions during GPU computation. The kernel allocates output tensors at full size via torch::empty(), which returns uninitialized GPU memory, but the CUDA kernel only processes a truncated element count. This mismatch leaves a portion of each output tensor unwritten. In multi-tenant environments where GPU resources are pooled across different users or requests, the residual GPU memory in the unfilled portion may contain tensor data from prior inference operations, enabling one tenant to read another's data through subsequent inference requests that reuse that GPU memory.

Business impact

For cloud LLM service providers and enterprises running shared vLLM inference clusters, this vulnerability creates a cross-tenant data exposure risk. Customer prompts, model outputs, embeddings, or intermediate activation values from one user's inference could be leaked to another user. This is particularly critical for deployments handling sensitive data (healthcare, finance, legal queries). The exposure is indirect—an attacker must trigger inference requests that reuse the GPU memory—but requires no authentication or special privileges. Incident response may include notifying affected customers, auditing query logs to determine what data may have been at risk, and potentially replaying inference to determine exposure scope.

Affected systems

vLLM versions 0.5.5 through 0.23.0 (inclusive) are vulnerable. The issue is resolved in 0.23.1rc0 and later stable releases. Any deployment using GGUF-quantized model formats on NVIDIA GPUs with shared multi-user inference is at risk; single-user or non-GGUF deployments are unaffected. The vulnerability is in the GPU kernel code path and requires CUDA support.

Exploitability

Exploitability is practical but not immediate. An attacker cannot trigger a vulnerability directly; rather, they must cause the inference server to allocate and process GGUF tensors such that uninitialized GPU memory persists in the output, then retrieve that output as part of a subsequent inference request. This requires either: (1) direct API access to the inference service, or (2) ability to craft or submit inference requests as a legitimate (but untrusted) user. No patch or authentication bypass is required—the vulnerability surfaces through normal inference operations. The CVSS score of 7.5 reflects high confidentiality impact with network accessibility and no authentication requirement, though practical exploitation depends on multi-tenant deployment patterns.

Remediation

Update vLLM to version 0.23.1rc0 or later. Administrators should prioritize this patch for any cloud or shared-inference deployments. A temporary mitigation for urgent environments might include isolating inference workloads per user (separate processes or containers) to prevent GPU memory reuse across tenants, though this reduces efficiency and is not a permanent substitute for patching.

Patch guidance

Verify the current vLLM version in your deployment (e.g., via pip show vllm or python -c "import vllm; print(vllm.__version__)"). If running any version from 0.5.5 to 0.23.0, proceed with an immediate upgrade to 0.23.1rc0 or a later stable release. The vLLM project typically publishes releases on PyPI and GitHub; follow your organization's standard patching process for dependency updates, including testing in a staging environment. Coordinate with teams running on-premise or cloud instances to ensure consistent updates across all inference clusters.

Detection guidance

Intrusion detection is limited because the vulnerability exploits normal API operations. Focus instead on: (1) inventory—enumerate all vLLM deployments and their versions via asset management or API queries; (2) configuration audit—identify multi-tenant or shared-inference clusters where memory reuse is likely; (3) logging—if your inference service logs request/response metadata, review logs around the same timeframe for requests from different users or API keys to detect potential temporal reuse patterns (difficult in practice without specialized instrumentation); (4) forward-looking—after patching, consider adding GPU memory initialization flags or periodic zeroing as a defense-in-depth measure, though the patch itself should be sufficient.

Why prioritize this

This is a HIGH-severity cross-tenant information disclosure affecting production inference engines. For any organization running shared vLLM infrastructure, it should be treated as urgent because: (1) the confidentiality impact is direct and touches user data; (2) no special configuration or authentication bypass is needed; (3) multi-tenant cloud deployments are increasingly common in LLM inference; (4) the affected version range has been in use for extended periods. However, it is not critical (CVSS not 9+) because exploitation requires shared GPU resources and is not a remote code execution or denial-of-service vector. Patch within days for shared deployments, and within one to two weeks for single-user or research environments.

Risk score, explained

The CVSS 3.1 score of 7.5 (HIGH) reflects: Attack Vector: Network (the inference API is accessible over the network); Attack Complexity: Low (no special conditions required); Privileges Required: None (any user with API access can trigger inference); User Interaction: None (fully automated); Scope: Unchanged (no boundary violation); Confidentiality: High (previous user data is exposed); Integrity: None (data is not modified); Availability: None (no service disruption). The score appropriately captures the severity of information disclosure in a multi-tenant environment without overstating it as a system-level compromise.

Frequently asked questions

Does this vulnerability affect single-user vLLM deployments?

No. The vulnerability requires GPU memory to be reused across different inference requests, which occurs in multi-tenant scenarios. Single-user deployments or research instances with dedicated GPU memory are not exposed to cross-user data leakage, although upgrading to 0.23.1rc0 or later is still recommended for consistency and future safety.

What vLLM features or model formats are affected?

Only deployments using GGUF-quantized model formats on NVIDIA GPUs are affected. Other quantization schemes or CPU inference are not vulnerable. If you are uncertain, check your model loading code for references to 'gguf' or consult your model provider's documentation.

Can I detect if my vLLM service has been exploited?

Detection is difficult without enhanced GPU memory monitoring or request-level logging. If you operate a shared vLLM cluster, assume exposure is possible if you have been running versions 0.5.5–0.23.0 and handle sensitive data. After patching, review logs for any unusual sequences of requests from different users around the same timeframe to assess risk, though this retrospective analysis has limitations. Focus on forward prevention via patching.

Why is this vulnerability only reported now in 2026 given the affected version range?

The vulnerability was likely discovered and reported by a researcher or user in early 2026. Older versions (0.5.5 onwards) may have had limited adoption or the issue may not have been recognized in shared-deployment contexts until recently. Vendor disclosure coordinated the fix for version 0.23.1rc0.

This analysis is based on the CVE record as of the publication date and vendor advisory information. No proof-of-concept or weaponized exploit is provided. Patch version numbers and affected product ranges are sourced from the official CVE record and should be verified against the vLLM project's GitHub releases and security advisories before implementation. Organizations should conduct their own risk assessment based on their specific deployment architecture, data sensitivity, and multi-tenancy model. SEC.co makes no warranty regarding the completeness or applicability of this analysis to any particular environment. Source: NVD (public-domain), retrieved 2026-07-28. Analysis generated by SEC.co (claude-haiku-4-5).