Skip to content

Commit 87d41fb

Browse files
1 parent af1bff1 commit 87d41fb

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"schema_version": "1.4.0",
3+
"id": "GHSA-7972-pg2x-xr59",
4+
"modified": "2026-03-27T15:27:20Z",
5+
"published": "2026-03-27T15:27:20Z",
6+
"aliases": [
7+
"CVE-2026-27893"
8+
],
9+
"summary": "vLLM has Hardcoded Trust Override in Model Files Enables RCE Despite Explicit User Opt-Out",
10+
"details": "### Summary\n\n Two model implementation files hardcode `trust_remote_code=True` when loading sub-components, bypassing the user's explicit `--trust-remote-code=False` security opt-out. This enables remote code execution via malicious model\n repositories even when the user has explicitly disabled remote code trust.\n\n ### Details\n\n **Affected files (latest main branch):**\n\n 1. `vllm/model_executor/models/nemotron_vl.py:430`\n ```python\n vision_model = AutoModel.from_config(config.vision_config, trust_remote_code=True)\n```\n\n 2. vllm/model_executor/models/kimi_k25.py:177\n \n```python\n cached_get_image_processor(self.ctx.model_config.model, trust_remote_code=True)\n```\n\n Both pass a hardcoded trust_remote_code=True to HuggingFace API calls, overriding the user's global --trust-remote-code=False setting.\n\n Relation to prior CVEs:\n - CVE-2025-66448 fixed auto_map resolution in vllm/transformers_utils/config.py (config loading path)\n - CVE-2026-22807 fixed broader auto_map at startup\n - Both fixes are present in the current code. These hardcoded instances in model files survived both patches — different code paths.\n\n### Impact\n\n Remote code execution. An attacker can craft a malicious model repository that executes arbitrary Python code when loaded by vLLM, even when the user has explicitly set --trust-remote-code=False. This undermines the security guarantee\n that trust_remote_code=False is intended to provide.\n\n Remediation: Replace hardcoded trust_remote_code=True with self.config.model_config.trust_remote_code in both files. Raise a clear error if the model component requires remote code but the user hasn't opted in.",
11+
"severity": [
12+
{
13+
"type": "CVSS_V3",
14+
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"
15+
}
16+
],
17+
"affected": [
18+
{
19+
"package": {
20+
"ecosystem": "PyPI",
21+
"name": "vllm"
22+
},
23+
"ranges": [
24+
{
25+
"type": "ECOSYSTEM",
26+
"events": [
27+
{
28+
"introduced": "0.10.1"
29+
},
30+
{
31+
"fixed": "0.18.0"
32+
}
33+
]
34+
}
35+
]
36+
}
37+
],
38+
"references": [
39+
{
40+
"type": "WEB",
41+
"url": "https://github.com/vllm-project/vllm/security/advisories/GHSA-7972-pg2x-xr59"
42+
},
43+
{
44+
"type": "ADVISORY",
45+
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-27893"
46+
},
47+
{
48+
"type": "WEB",
49+
"url": "https://github.com/vllm-project/vllm/pull/36192"
50+
},
51+
{
52+
"type": "WEB",
53+
"url": "https://github.com/vllm-project/vllm/commit/00bd08edeee5dd4d4c13277c0114a464011acf72"
54+
},
55+
{
56+
"type": "PACKAGE",
57+
"url": "https://github.com/vllm-project/vllm"
58+
}
59+
],
60+
"database_specific": {
61+
"cwe_ids": [
62+
"CWE-693"
63+
],
64+
"severity": "HIGH",
65+
"github_reviewed": true,
66+
"github_reviewed_at": "2026-03-27T15:27:20Z",
67+
"nvd_published_at": "2026-03-27T00:16:22Z"
68+
}
69+
}

0 commit comments

Comments
 (0)