🛡️ CVE-2026-22773 — vllm

🟡 CVSS 6.5 — Medium ⚠️ Exploit Public CWE-770 OSV
6.5
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

vLLM is vulnerable to DoS in Idefics3 vision models via image payload with ambiguous dimensions

Summary

Users can crash the vLLM engine serving multimodal models that use the _Idefics3_ vision model implementation by sending a specially crafted 1x1 pixel image. This causes a tensor dimension mismatch that results in an unhandled runtime error, leading to complete server termination.

Details

The vulnerability is triggered when the image processor encounters a 1x1 pixel image with shape (1, 1, 3) in HWC (Height, Width, Channel) format. Due to the ambiguous dimensions, the processor incorrectly assumes the image is in CHW (Channel, Height, Width) format with shape (3, H, W). This misinterpretation causes an incorrect calculation of the number of image patches, resulting in a fatal tensor split operation failure.

Crash location: vllm/model_executor/models/idefics3.py line 672:

```python

def _process_image_input(self, image_input: ImageInputs) -> torch.Tensor | list[torch.Tensor]:

# ...

num_patches = image_input["num_patches"]

return [e.flatten(0, 1) for e in image_features.split(num_patches.tolist())]

```

The split() call fails because the computed num_patches value (17) does not match the actual tensor dimension (9):

```

RuntimeError: split_with_sizes expects split_sizes to sum exactly to 9

(input tensor's size at dimension 0), but got split_sizes=[17]

```

This unhandled exception terminates the EngineCore process, crashing the server.

Affected Models

Any model using the Idefics3 architecture. The vulnerability was tested with HuggingFaceTB/SmolVLM-Instruct.

Impact

Denial of service by crashing the engine

Mitigation

Validating the input:

```python

def _validate_image_dimensions(self, image_shape):

h, w = image_shape[:2] if len(image_shape) == 3 else image_shape

if h < MIN_IMAGE_SIZE or w < MIN_IMAGE_SIZE:

raise ValueError(f"Image dimensions too small: {h}x{w}")

```

Managing the exception:

```python

try:

return [e.flatten(0, 1) for e in image_features.split(num_patches.tolist())]

except RuntimeError as e:

logger.error(f"Image processing failed: {e}")

raise InvalidImageError("Failed to process image features") from e

```

Fixes

  • https://github.com/vllm-project/vllm/pull/29881

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs low-level privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality none, integrity none, availability high.

Weakness class

CVE-2026-22773 is classified as CWE-770: Allocation of Resources Without Limits. Resources are allocated on request with no cap, so a client can exhaust them.

Affected software

CVE-2026-22773 is recorded against 1 package.

  • vllm (from 0.6.4 up to 0.12.0)

Timeline and source

Published on 13 January 2026 and last revised on 17 June 2026. A public exploit is known to exist, which raises the urgency of patching considerably. Record sourced from OSV.

References

github.com (Web)
nvd.nist.gov (Advisory)
github.com (Web)
github.com (Web)
github.com (Web)
github.com (Package)

Details

Severity MEDIUM
CVSS Score 6.5
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE CWE-770
Public Exploit ⚠️ Yes
Source OSV
Published 2026-01-13
Updated 2026-08-12
Modified 2026-06-17
Fix URL N/A

Affected Packages

Software From version Fixed in
vllm 0.6.4 0.12.0

Similar Threats

Exploit Protection

Are you running vllm?

CVE-2026-22773 carries CVSS 6.5 Medium rating and a public exploit already exists. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.

Check My Site For CVE-2026-22773 →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.