CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-73555

CVE-2026-73555: Environment and Information Disclosure via Exception Handling in vLLM

Alon Barad
Alon Barad
Software Engineer

Sep 5, 2026·5 min read·1 visit

Executive Summary (TL;DR)

Unauthenticated remote attackers can query vLLM API endpoints with malformed JSON to retrieve full system paths, virtual environment directory structures, and host usernames from error tracebacks.

An information disclosure vulnerability in vLLM prior to version 0.26.0 allows unauthenticated remote attackers to trigger validation errors that expose highly sensitive host machine metadata, absolute paths, environment structures, and usernames. This flaw stems from improper serialization of Pydantic exceptions and an inadequate fallback sanitization function.

Vulnerability Overview

vLLM is a high-performance open-source inference engine designed for serving Large Language Models. In typical deployment topologies, vLLM exposes an HTTP REST API server compliant with OpenAI endpoints. This API boundary forms the primary external attack surface, managing unauthenticated incoming client requests that are parsed into internal structured payloads.

Because these endpoints are accessible directly over the network, robust input validation and error handling are critical security boundaries. CVE-2026-73555 describes an information disclosure vulnerability (CWE-209) residing within this request validation layer. The flaw allows unauthenticated remote users to trigger structured exceptions that leak extensive host metadata.

When a malformed request is processed, the system produces validation tracebacks rather than sanitized client errors. This leakage exposes absolute directory structures, underlying package frameworks, system configuration states, and active local usernames. This reconnaissance metadata simplifies target environment profiling for subsequent attacks.

Root Cause Analysis

The core of the vulnerability lies in how vLLM handles request parsing failures via its FastAPI and Pydantic architecture. When incoming payloads fail validation checks, Pydantic raises a RequestValidationError exception. FastAPI's routing middleware intercepts this exception and processes it through a custom validation handler.

Prior to version 0.26.0, the handler in vllm/entrypoints/serve/utils/server_utils.py converted the raw exception directly into a string representation using str(exc). Under default FastAPI behavior, string conversion of a validation exception serializes the entire contextual route environment. This trace information contains internal application execution paths and local filesystem variables.

Furthermore, the helper library intended to filter sensitive outputs was functionally insufficient. The sanitize_message routine was only designed to strip memory address pointers from object representations using a basic regular expression. It did not parse or neutralize file directories, active operating system paths, or local file trace logs.

Code-Level Diff Analysis

The structural modifications implemented in the patch address both the exception formatting architecture and the fallback mitigation layers.

Below is a comparison of the vulnerable error-generation logic versus the patched approach inside vllm/entrypoints/serve/utils/server_utils.py:

# VULNERABLE APPROACH
async def validation_exception_handler(req: Request, exc: RequestValidationError) -> Response:
    # Raw string conversion of 'exc' serializes FastAPI's route traceback contexts
    exc_str = str(exc)
    errors_str = str(errors)
    if errors and errors_str and errors_str != exc_str:
        message = f"{exc_str} {errors_str}"
    else:
        message = exc_str
 
# PATCHED APPROACH
async def validation_exception_handler(req: Request, exc: RequestValidationError) -> Response:
    # Reconstructs errors using structured fields from exc.errors() instead of str(exc)
    if errors:
        count = len(errors)
        label = "error" if count == 1 else "errors"
        message = f"{count} validation {label}:\n"
        message += "".join(f"  {err}\n" for err in errors)
        message = message.rstrip()
    else:
        message = "Validation error"

Additionally, the patch hardens the fallback mechanism inside vllm/entrypoints/serve/utils/api_utils.py to strip out persistent filesystem details:

def sanitize_message(message: str) -> str:
    """Strip memory addresses, tracebacks, and file paths from error messages."""
    message = re.sub(r" at 0x[0-9a-f]+>", ">", message)
    # Strips raw Python traceback patterns
    message = re.sub(r'\n?\s*File "[^"]+", line \d+, in \S+(\n\s+.*)?', "", message)
    # Filters common base directories
    message = re.sub(
        r"/(?:home|usr|opt|var|tmp|root|lib|mnt|srv)(?:/[\w.\-]+)+", "<path>", message
    )
    # Fallback absolute path replacement
    message = re.sub(r"(?:/[\w\-]+)+/[\w\-]+\.\w+", "<path>", message)
    return message.strip()

Execution Flow Diagram

The following diagram tracks the processing sequence of a malformed client request through the application logic, highlighting how environmental details are exposed during error generation.

Exploitation Methodology

Exploitation of CVE-2026-73555 is straightforward and does not require complex payload mechanics. An attacker targeting the /v1/chat/completions endpoint can purposely submit invalid data types to force a validation failure.

For example, the endpoint expects the messages attribute to contain a list of objects. Transmitting a scalar string instead triggers a validation failure, prompting the server to formulate an error response. Because authentication is often bypassed or absent on these standard serving endpoints, any client on the network interface can generate this payload.

The resulting HTTP 422 Unprocessable Entity response returns the path structure of the virtual environment, the python system engine details, and the local shell username. This allows external threat actors to profile the underlying infrastructure without writing to disk or provoking system alerts.

Impact Assessment

While CVE-2026-73555 is assigned a CVSS score of 5.3 (Medium) due to its read-only impact, its role in a broader attack chain is substantial. Identifying absolute paths and system account names removes key barriers to local privilege escalation or sandbox escape.

Knowing that an instance runs in /home/deployer/vllm-env/ rather than a restricted system container allows attackers to design path-traversal scripts and locate configuration repositories. It also reveals file system permissions, package versions, and operational boundaries.

In environments utilizing containers, this leak compromises the confidentiality of host-mount directories. Because AI infrastructure is frequently deployed in cloud-managed nodes with elevated privileges, exposing the structural design of these endpoints increases the severity of adjacent host exploits.

Mitigation Analysis & Potential Gaps

The primary resolution is upgrading the installation to vLLM version 0.26.0 or higher. This modifies the exception formatter to avoid stringifying raw tracebacks.

However, potential gaps remain in the fallback validation logic. The patterns within sanitize_message rely entirely on Unix-like directory layouts. If vLLM is executed on a native Windows server, backslash-separated absolute directory paths (such as C:\Users\Administrator\vllm\) will not match the current regular expression layout and will still leak to remote users.

Furthermore, non-standard Unix mount directories like /app, /workspace, or /code are not targeted by the default pattern unless they contain a file extension. These omissions could allow some environments to remain partially vulnerable if errors escape the primary validation handler.

Official Patches

vllm-projectvLLM Security Advisory for GHSA-hwrm-c4cx-rf4j

Fix Analysis (1)

Technical Appendix

CVSS Score
5.3/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
EPSS Probability
0.26%
Top 83% most exploited

Affected Systems

vLLM API Server deployments running version < 0.26.0

Affected Versions Detail

Product
Affected Versions
Fixed Version
vllm
vllm-project
< 0.26.00.26.0
AttributeDetail
CWE IDCWE-209
Attack VectorNetwork (AV:N)
CVSS v3.15.3 (Medium)
EPSS Score0.00255
ImpactInformation Disclosure
Exploit Statuspoc
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1005Data from Local System
Collection
T1082System Information Discovery
Discovery
CWE-209
Generation of Error Message Containing Sensitive Information

The product generates an error message that contains sensitive information about its environment, applications, or associated data, which can expose internal implementation details to unauthorized parties.

Vulnerability Timeline

Fix commit merged into the codebase
2026-07-09
vLLM v0.26.0 released and CVE-2026-73555 published
2026-08-13

References & Sources

  • [1]vLLM Github Security Advisory
  • [2]vLLM Patch Commit

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•12 minutes ago•CVE-2026-71486
4.3

CVE-2026-71486: Uncontrolled Resource Consumption in vLLM Derender Endpoints

CVE-2026-71486 (GHSA-8737-qx52-hjff) is an uncontrolled resource consumption vulnerability in vLLM's derender endpoints before version 0.26.0. An authenticated attacker can supply crafted, deeply nested token structures to exhaust CPU and memory resources, resulting in server denial of service (DoS) or Out of Memory (OOM) crashes. This vulnerability stems from missing input-bounds validation before passing user-supplied structures to computationally intensive decoding routines.

Amit Schendel
Amit Schendel
0 views•6 min read
•about 2 hours ago•CVE-2026-73556
5.3

CVE-2026-73556: Regular Expression Denial of Service (ReDoS) in vLLM lm-format-enforcer Backend

CVE-2026-73556 is a Regular Expression Denial of Service (ReDoS) vulnerability in the vLLM inference engine's lm-format-enforcer structured-output backend. Prior to version 0.26.0, lack of compilation timeouts or complexity validation for user-supplied regular expressions in the structured_outputs.regex parameter allowed unauthenticated remote attackers to trigger CPU exhaustion and block the core execution loop.

Amit Schendel
Amit Schendel
2 views•5 min read
•about 3 hours ago•CVE-2026-73557
6.3

CVE-2026-73557: Race Condition in PyTorch Tensor Invariant Checks within vLLM Engine

CVE-2026-73557 details a race condition vulnerability in the vLLM serving framework, arising from the thread-unsafe usage of PyTorch's process-global sparse tensor invariant check manager. When processing concurrent requests with custom prompt or multimodal embeddings, concurrent thread execution can disable global tensor integrity checks. An unauthenticated attacker can leverage this timing window to submit malformed sparse coordinate (COO) tensors containing out-of-bounds indices, causing memory corruption and process crashes (Denial of Service).

Alon Barad
Alon Barad
3 views•5 min read
•about 4 hours ago•CVE-2026-73842
9.0

CVE-2026-73842: Missing Authentication and Authorization on Internal Management Listener in OpenChoreo cluster-gateway

A critical-severity missing authentication and privilege management vulnerability was identified in the OpenChoreo cluster-gateway component. The gateway exposed internal management endpoints, including arbitrary Kubernetes proxying and execution interfaces, on an unauthenticated port. An adjacent attacker within the control-plane network can bypass RBAC controls entirely and gain administrative control over all connected data planes.

Alon Barad
Alon Barad
4 views•6 min read
•about 5 hours ago•GHSA-7Q9C-HPX7-9CWM
7.5

GHSA-7Q9C-HPX7-9CWM: Unauthenticated Remote Shutdown in @typespec/spector Mock Server

An unauthenticated remote shutdown vulnerability exists in the Microsoft TypeSpec Spector mock server. Due to missing authentication on critical administrative routes and binding to all network interfaces, any remote attacker can shut down the mock server.

Alon Barad
Alon Barad
3 views•7 min read
•about 6 hours ago•CVE-2026-72796
5.8

CVE-2026-72796: Access Control Bypass via Static Routes in SiYuan

A detailed technical breakdown of CVE-2026-72796 (GHSA-fgmr-7w36-9qfq), an access control bypass vulnerability in the SiYuan personal knowledge management system. Prior to version 3.7.4, inconsistent authorization checks between dynamic API endpoints and static file routes allowed authenticated low-privilege readers or anonymous public users to read sensitive files, templates, snippets, and export directories.

Amit Schendel
Amit Schendel
5 views•8 min read