GHSA-389x-67px-mjg3
xgrammar Vulnerable to Denial of Service (DoS) by abusing unbounded cache in memory
At a glance
- Published
- Updated
- CVE
- CVE-2025-32381
- Aliases
- PYSEC-2025-235
- CVSS_V3
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Description
### Summary Xgrammar includes a cache for compiled grammars to increase performance with repeated use of the same grammar. This cache is held in memory. Since the cache is unbounded, a system making use of xgrammar can be abused to fill up a host's memory and case a denial of service. For example, sending many small requests to an LLM inference server with unique JSON schemas would eventually cause this denial of service to occur. ### Details The fix is to add a limit to the cache size. This was done in https://github.com/mlc-ai/xgrammar/pull/243 An example of making use of the new cache size limit can be found in vLLM here: https://github.com/vllm-project/vllm/pull/16283 ### Impact Any system making use of Xgrammar and taking requests as input from potentially untrusted parties would be vulnerable to this denial of service issue.
Affected packages
| Package | Versions |
|---|---|
| PyPI · xgrammar | introduced 0, fixed 0.1.18 |
References
- https://github.com/mlc-ai/xgrammar/security/advisories/GHSA-389x-67px-mjg3 WEB
- https://nvd.nist.gov/vuln/detail/CVE-2025-32381 ADVISORY
- https://github.com/mlc-ai/xgrammar/pull/243 WEB
- https://github.com/vllm-project/vllm/pull/16283 WEB
- https://github.com/mlc-ai/xgrammar PACKAGE
- https://github.com/pypa/advisory-database/tree/main/vulns/xgrammar/PYSEC-2025-235.yaml WEB
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |