CVE-2025-29770: vLLM denial of service via outlines unbounded cache on disk

Published Mar 19, 2025
·
Updated

Impact The outlines library is one of the backends used by vLLM to support structured output (a.k.a. guided decoding). Outlines provides an optional cache for its compiled grammars on the local filesystem. This cache has been on by default in vLLM. Outlines is also available by default through the OpenAI compatible API server.

The affected code in vLLM is vllm/modelexecutor/guideddecoding/outlineslogitsprocessors.py, which unconditionally uses the cache from outlines. vLLM should have this off by default and allow administrators to opt-in due to the potential for abuse.

A malicious user can send a stream of very short decoding requests with unique schemas, resulting in an addition to the cache for each request. This can result in a Denial of Service if the filesystem runs out of space.

Note that even if vLLM was configured to use a different backend by default, it is still possible to choose outlines on a per-request basis using the guideddecodingbackend key of the extrabody field of the request.

This issue applies to the V0 engine only. The V1 engine is not affected.

Patches

https://github.com/vllm-project/vllm/pull/14837

The fix is to disable this cache by default since it does not provide an option to limit its size. If you want to use this cache anyway, you may set the VLLMV0USEOUTLINESCACHE environment variable to 1.

Workarounds

There is no way to workaround this issue in existing versions of vLLM other than preventing untrusted access to the OpenAI compatible API server.

References

Other sources

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. The outlines library is one of the backends used by vLLM to support structured output (a.k.a. guided decoding). Outlines provides an optional cache for its compiled grammars on the local filesystem. This cache has been on by default in vLLM. Outlines is also available by default through the OpenAI compatible API server. The affected code in vLLM is vllm/modelexecutor/guideddecoding/outlineslogitsprocessors.py, which unconditionally uses the cache from outlines. A malicious user can send a stream of very short decoding requests with unique schemas, resulting in an addition to the cache for each request. This can result in a Denial of Service if the filesystem runs out of space. Note that even if vLLM was configured to use a different backend by default, it is still possible to choose outlines on a per-request basis using the guideddecodingbackend key of the extrabody field of the request. This issue applies only to the V0 engine and is fixed in 0.8.0.

MITRE

Affected Software

3 affected componentsFixes available
vllm vllm>=0.0, <0.8.0
pip/vllm<0.8.0
0.8.0
vllm vllm<0.8.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/vllm to a version that resolves this vulnerability.

    Fixed in 0.8.0
  2. Upgrade

    Upgrade vllm to a version that resolves this vulnerability.

    Fixed in 0.8.0
  3. Configuration

    If you choose to use the outlines cache anyway, set the environment variable VLLM_V0_USE_OUTLINES_CACHE to 1; otherwise leave it disabled since unbounded on-disk caching can lead to denial of service.

    vLLM outlines cache VLLM_V0_USE_OUTLINES_CACHE = 1
  4. Compensating control

    Prevent untrusted access to the OpenAI compatible API server, since there is no other workaround in existing vLLM versions besides stopping untrusted clients from reaching the server.

Event History

Mar 19, 2025
CVE Published
via MITRE·03:31 PM
Data Sourced
via MITRE·03:31 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·03:52 PM
Data Sourced
via NVD·04:15 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:15 PM
RemedyAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2025-29770?

CVE-2025-29770 is classified as a high-severity vulnerability due to its impact on the vLLM library.

2

How do I fix CVE-2025-29770?

To fix CVE-2025-29770, users should upgrade to vLLM version 0.8.0 or higher immediately.

3

What effect does CVE-2025-29770 have on the vLLM library?

CVE-2025-29770 can potentially lead to unintentional data exposure through the outlines caching mechanism.

4

Which versions of vLLM are affected by CVE-2025-29770?

CVE-2025-29770 affects all versions of vLLM from 0.0 up to, but not including, 0.8.0.

5

Is there a way to mitigate the risks associated with CVE-2025-29770 without upgrading?

While upgrading is the best solution, disabling the outlines caching feature can mitigate some risks associated with CVE-2025-29770.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203