{"id":"GHSA-5q78-j82c-2vr2","kind":"vulnerability","aliases":["GHSA-5q78-j82c-2vr2"],"related":[],"title":"vLLM denial of service via prompt embeds on XD-RoPE models (incomplete fix of CVE-2026-55514)","description":"### Summary\n\nAn unauthenticated remote attacker can crash the entire vLLM engine and API server with a single `/v1/completions` request that contains only `prompt_embeds` (no `prompt` text and no `prompt_token_ids`) when the server runs an XD-RoPE model (HF config with `rope_scaling.type == \"xdrope\"`, e.g. `tencent/HunyuanOCR`) with `--enable-prompt-embeds` on the V1 (MRV1) GPU model runner. The crash is caused by a reachable type-narrowing `assert` in `GPUModelRunner._init_xdrope_positions` that is the **unpatched XD-RoPE sibling of CVE-2026-55514 / GHSA-33cg-gxv8-3p8g** (\"vLLM DoS via prompt embeds on M-RoPE models\", fixed in v0.24.0 by commit `470229c37`): that fix removed the identical assertion from `_init_mrope_positions` and added a regression test, but the XD-RoPE path was missed and still asserted on `main` at the time of this report. Verified end-to-end on the released `vllm==0.28.0` wheel on a real GPU: one attack request makes the whole server process terminate (all concurrent clients disconnected).\n\n### Details\n\n**Affected code** (`vllm/v1/worker/gpu_model_runner.py`, V1 GPU model runner; lines 1742–1746 in v0.28.0, 1689–1694 in `main` @ `6f7df92a8`):\n\n```python\ndef _init_xdrope_positions(self, req_state: CachedRequestState):\n    model = self.get_model()\n    xdrope_model = cast(SupportsXDRoPE, model)\n    assert req_state.prompt_token_ids is not None, (      # <- fatal assert\n        \"XD-RoPE requires prompt_token_ids to be available.\"\n    )\n    ...\n```\n\nIt is invoked for **every newly scheduled request** whenever the model is detected as XD-RoPE (`model_config.uses_xdrope_dim > 0`, derived from the HF config fields `xdrope_section` or `rope_scaling.xdrope_section`; see `vllm/transformers_utils/config.py:580-594`):\n\n```python\n# update_requests() in gpu_model_runner.py\nif self.uses_xdrope_dim > 0:\n    self._init_xdrope_positions(req_state)\n```\n\n**Root cause.** The assertion is a mypy type-narrowing guard that is not always true: an embeddings-only request legitimately reaches the worker with `prompt_token_ids = None`. This is the exact defect described by GHSA-33cg-gxv8-3p8g for the M-RoPE sibling; the June 2026 fix (commit `470229c37`, released in v0.24.0) removed the assertion only on the M-RoPE path and its regression test (`tests/v1/worker/test_mrope_prompt_embeds.py`) covers only M-RoPE.\n\n**Why the request reaches the assertion (verified call chain):**\n1. `vllm/renderers/embed_utils.py:17-38` — `safe_load_prompt_embeds` validates only tensor shape/dtype (requires the server flag `--enable-prompt-embeds`), no token ids required.\n2. `vllm/v1/engine/input_processor.py:343-346` — the \"embeds\" input type is accepted with `prompt_token_ids = None`; `_validate_model_input` imposes no token-id requirement.\n3. `vllm/v1/request.py:145-146` — embeddings-only requests are first-class (`_all_token_ids` is a zero-filled placeholder list).\n4. On first scheduling, `_update_states()` → `update_requests()` → `_init_xdrope_positions(req_state)` raises `AssertionError` inside the EngineCore execution loop. In the default in-process worker deployment the EngineCore dies; the API server then shuts down, dropping every in-flight request of all tenants.\n\n**Affected configuration surface.** The V1 model runner is selected (and the assertion thus reachable) in many supported configurations, including: `VLLM_USE_V2_MODEL_RUNNER=0`, environments without Triton, ROCm-specific architectures, `--speculative-config \"method=ngram_gpu\"`, P-EAGLE parallel drafting, EAGLE3 with pipeline parallelism > 1, PP with `external_launcher`, sequence parallelism with TP > 1, `stock torch.compile`, DBO, elastic expert parallelism, custom logits-processor plugins, and KV-sharing fast prefill (selection logic: `vllm/config/vllm.py:620-652, 2396-2490`).\n\n**End-to-end observation (2026-08-28, NVIDIA RTX PRO 6000, `vllm==0.28.0` PyPI wheel).** Real server log excerpt on a single attack request:\n\n```\n(EngineCore) ERROR [core.py:1348]   File \".../vllm/v1/worker/gpu_model_runner.py\", line 1745, in _init_xdrope_positions\n(EngineCore) ERROR [core.py:1348]     assert req_state.prompt_token_ids is not None, (\n(EngineCore) ERROR [core.py:1348]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n(EngineCore) ERROR [core.py:1348] AssertionError: XD-RoPE requires prompt_token_ids to be available.\n(APIServer) ERROR [async_llm.py:744] vllm.v1.engine.exceptions.EngineDeadError: EngineCore encountered an issue...\n(APIServer) INFO  [async_llm.py] ... Application shutdown complete\n(APIServer) INFO  [api_server.py] Finished server process\n```\n\nImmediately after the request: `GET /health` fails — the whole server process is dead. Control group on the same server: a normal request with `prompt` token ids completes and the server stays alive.\n\n### Impact\n\n- **Vulnerability type:** reachable assertion leading to full denial of service (CWE-617). One request kills the EngineCore and terminates the API server process; every concurrent client is disconnected and the service must be restarted.\n- **Impact:** availability of the entire serving instance; for multi-tenant deployments, all tenants are affected simultaneously.\n- **Who is impacted:** any deployment that (a) serves an XD-RoPE model (`rope_scaling.type == \"xdrope\"`), (b) enables `--enable-prompt-embeds`, and (c) uses the V1 model runner (common supported configurations listed in Details). The attack needs no authentication when the API is exposed without `--api-key` and also works on unauthenticated inference aliases (e.g. `/invocations`); with `--api-key`, any authorized API caller can trigger it.\n- **Same-class reference:** CVE-2026-55514 / GHSA-33cg-gxv8-3p8g (M-RoPE variant, rated High); this report is the incomplete-fix variant of that advisory.\n\n### Suggested fix (for the maintainer)\n\nMirror commit `470229c37` in `_init_xdrope_positions` — replace the assertion with embeddings-aware handling:\n\n```python\nif req_state.prompt_token_ids is not None:\n    input_tokens = req_state.prompt_token_ids\nelif req_state.prompt_embeds is not None:\n    seq_len = req_state.prompt_embeds.shape[0]\n    input_tokens = list(range(seq_len))\nelse:\n    raise ValueError(\"XD-RoPE requires either prompt_token_ids or prompt_embeds.\")\n```\n\nand add a regression test equivalent to `tests/v1/worker/test_mrope_prompt_embeds.py` for the XD-RoPE path (optionally, raise `ValueError` instead of asserting so the request fails cleanly without killing the engine).\n\n## Affected versions\n\n- Package: `vllm` (PyPI).\n- Affected versions: `>= 0.28.0, < 0.30.0`.\n- First stable patched version: `0.30.0`.\n\nThe range covers the verified affected release and subsequent releases before the fix; earlier releases were not comprehensively assessed. PR #56078 removed the separate XD-RoPE path by unifying it with M-RoPE.\n\nAdvisory fixed in [#56078](https://github.com/vllm-project/vllm/pull/56078).","summary":"A reachable assertion in vLLM's GPU model runner aborts the engine when an embeddings-only completion request hits an XD-RoPE model served with prompt embeddings enabled. One unauthenticated request can take down the whole API server, disconnecting every concurrent client.","severity":"medium","cvss":5.9,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"vllm","fixed":["0.30.0"],"affected":">= 0.28.0, < 0.30.0","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["ai-tooling","cwe-617","gpu-inference","python","self-hosted","vllm","xd-rope"],"not_affected_if":["no-xdrope-models","prompt-embeds-disabled","version-0.30.0-or-later"],"how_to_check":"- Check the installed version with `pip show vllm` and compare against the affected range `>= 0.28.0, < 0.30.0`.\n- Look for a served model whose HF config has `rope_scaling.type == \"xdrope\"` (for example `tencent/HunyuanOCR`).\n- Check whether the server is started with `--enable-prompt-embeds`.\n- Check whether the V1 model runner is in use (`VLLM_USE_V2_MODEL_RUNNER=0` or the other configurations listed in the advisory).","fix":"- `vllm` `0.30.0` (first stable patched version; the advisory is fixed in PR #56078).","status":"open","published_at":"2026-10-27T22:18:41+00:00","first_seen_at":"2026-11-09T22:53:23+00:00","triaged_at":"2026-11-09T22:56:21+00:00","updated_at":"2026-11-09T22:56:21+00:00","category":"ai-tooling","confidence":0.85,"triage":{"at":"2026-11-09T22:56:21Z","model":"claude-haiku-5-5","output":{"fix":"- `vllm` `0.30.0` (first stable patched version; the advisory is fixed in PR #56078).","reach":"internet","title":"vLLM: one prompt-embeds request crashes the whole server on XD-RoPE models","impact":"medium","summary":"A reachable assertion in vLLM's GPU model runner aborts the engine when an embeddings-only completion request hits an XD-RoPE model served with prompt embeddings enabled. One unauthenticated request can take down the whole API server, disconnecting every concurrent client.","audience":"businesses","category":"ai-tooling","nicknames":[],"who_cares":["vllm","python","self-hosted","gpu-inference","xd-rope"],"confidence":0.85,"fix_status":"available","needs_auth":"no","worst_case":"Unauthenticated request terminates the entire inference server process.","analyst_note":"","how_to_check":"- Check the installed version with `pip show vllm` and compare against the affected range `>= 0.28.0, < 0.30.0`.\n- Look for a served model whose HF config has `rope_scaling.type == \"xdrope\"` (for example `tencent/HunyuanOCR`).\n- Check whether the server is started with `--enable-prompt-embeds`.\n- Check whether the V1 model runner is in use (`VLLM_USE_V2_MODEL_RUNNER=0` or the other configurations listed in the advisory).","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["no-xdrope-models","prompt-embeds-disabled","version-0.30.0-or-later"],"who_is_affected":"Deployments that serve an XD-RoPE model, enable `--enable-prompt-embeds`, and use the V1 model runner are exposed. The advisory states that without `--api-key` the attack needs no authentication, and with it any authorized caller can trigger it. Servers without XD-RoPE models or without prompt embeds enabled can skip it.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.001093,"input_tokens":7379,"output_tokens":710,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-08':650C '-146':498C '-2026':17A,173C '-2490':643C '-28':651C '-346':474C '-38':450C '-55514':18A,174C '-594':347C '-617':34B '-652':641C '/v1/completions':107C '/vllm/v1/worker/gp':673C '0':332C,357C,587C '0.28.0':239C,657C '1':447C,610C,619C '145':497C '1689':271C '1694':272C '17':449C '1742':267C '1746':268C '2':471C '2026':411C,649C '2396':642C '2vr2':23A,28A '3':495C '33cg':177C,400C '343':473C '3p8g':179C,402C '4':517C '470229c37':195C,414C '580':346C '5q78':21A,26A '6000':655C '620':640C '6f7df92a8':275C 'abort':55B 'accept':480C 'add':207C 'affect':259C,563C 'ai':31B 'ai-tool':30B 'alway':375C 'api':84B,102C,549C 'architectur':594C 'assert':48B,160C,201C,221C,293C,301C,364C,420C,443C,574C 'assertionerror':531C 'attack':94C,246C,667C 'avail':311C 'cachedrequestst':284C 'call':445C 'cast':290C 'caus':153C,362C 'chain':446C 'class':506C 'client':89B,256C 'code':260C 'commit':194C,413C 'complet':63B 'concurr':88B,255C 'config':132C,337C,597C 'configur':564C,580C 'contain':110C 'core.py:1348':671C 'cover':433C 'crash':96C,151C 'custom':626C 'cve':16A,172C 'cwe':33B 'dbo':622C 'def':277C 'default':539C 'defect':395C 'denial':2A 'deploy':544C 'deriv':333C 'describ':396C 'detail':258C 'detect':324C 'die':547C 'dim':331C,356C 'disconnect':86B,257C 'dos':181C 'draft':605C 'drop':554C 'e.g':136C 'eagl':603C 'eagle3':606C 'elast':623C 'emb':7A,113C,142C,184C,454C,466C,476C 'embed':61B,74B,379C,500C 'embeddings-on':60B,378C,499C 'enabl':75B,140C,464C 'enable-prompt-emb':139C,463C 'end':232C,234C,645C,647C 'end-to-end':231C,644C 'engin':57B,100C 'enginecor':534C,546C,669C 'entir':98C 'environ':588C 'error':670C 'everi':87B,316C,555C 'exact':394C 'excerpt':663C 'execut':535C 'expert':624C 'extern':613C 'fast':635C 'fatal':300C 'field':338C 'file':672C 'fill':514C 'first':505C,519C 'first-class':504C 'fix':14A,190C,197C,412C 'flag':462C 'flight':558C 'ghsa':20A,25A,176C,399C 'ghsa-33cg-gxv8-3p8g':175C,398C 'ghsa-5q78-j82c-2vr2':19A,24A 'gpu':36B,52B,147C,244C,263C,600C 'gpu-infer':35B 'gpu_model_runner.py':352C 'gpumodelrunner._init_xdrope_positions':162C 'guard':371C 'gxv8':178C,401C 'hf':131C,336C 'hit':65B 'host':41B 'id':121C,296C,308C,389C,469C,484C,493C,509C 'ident':200C 'impos':489C 'in-flight':556C 'in-process':540C 'includ':581C 'incomplet':13A 'infer':37B 'init':203C,278C,525C 'input':477C,488C 'insid':532C 'invok':314C 'j82c':22A,27A 'june':410C 'kv':633C 'kv-share':632C 'launcher':614C 'legitim':382C 'line':266C 'list':516C 'load':452C 'log':662C 'logic':638C 'logit':628C 'logits-processor':627C 'loop':536C 'm':187C,406C,425C,436C 'm-rope':186C,405C,424C,435C 'main':223C,274C 'make':248C 'mani':578C 'method':598C 'miss':218C 'model':12A,53B,70B,130C,148C,189C,264C,285C,287C,289C,292C,322C,487C,568C,585C 'model_config.uses':329C 'mrope':204C 'mrv1':146C 'mypi':367C 'narrow':159C,370C 'newli':317C 'ngram':599C 'none':299C,390C,485C 'nvidia':652C 'observ':648C 'one':76B,245C 'p':602C 'p-eagl':601C 'parallel':604C,609C,616C,625C 'path':216C,427C 'pipelin':608C 'placehold':515C 'plugin':630C 'posit':205C,280C,527C 'pp':611C 'prefil':636C 'pro':654C 'process':252C,542C 'processor':629C 'prompt':6A,73B,112C,115C,119C,141C,183C,306C,387C,453C,465C,482C 'pypi':658C 'python':38B,276C,348C 'rais':530C 'reach':383C,441C 'reachabl':47B,156C,576C 'real':243C,660C 'regress':209C,430C 'releas':237C,415C 'remot':93C 'remov':198C,418C 'report':229C 'req':282C,359C,528C 'req_state.prompt':294C 'request':64B,78B,108C,247C,319C,350C,381C,440C,502C,524C,559C,668C 'requir':305C,459C,470C,494C 'rocm':592C 'rocm-specif':591C 'root':361C 'rope':11A,45B,69B,129C,169C,188C,215C,304C,328C,407C,426C,437C 'rope_scaling.type':134C 'rope_scaling.xdrope':342C 'rtx':653C 'run':125C 'runner':54B,149C,265C,569C,586C 'safe':451C 'schedul':318C,520C 'section':340C,343C 'see':344C 'select':571C,637C 'self':40B,281C 'self-host':39B 'self._init_xdrope_positions':358C 'self.get':286C 'self.uses':354C 'sequenc':615C 'serv':71B 'server':85B,103C,124C,251C,461C,550C,661C 'servic':4A 'shape/dtype':458C 'share':634C 'shut':552C 'sibl':170C,408C 'singl':106C,666C 'specif':593C 'specul':596C 'speculative-config':595C 'state':283C,360C,522C,529C 'still':220C 'stock':620C 'summari':90C 'support':579C 'supportsxdrop':291C 'surfac':565C 'take':80B 'tenant':562C 'tencent/hunyuanocr':137C 'tensor':457C 'termin':253C 'test':210C,431C 'tests/v1/worker/test_mrope_prompt_embeds.py':432C 'text':116C 'thus':575C 'time':226C 'token':120C,295C,307C,388C,468C,483C,492C,508C 'token-id':491C 'tool':32B 'torch.compile':621C 'tp':618C 'triton':590C 'true':376C 'type':158C,369C,478C 'type-narrow':157C,368C 'unauthent':77B,92C 'unpatch':166C 'updat':349C,521C,523C 'use':583C 'v0.24.0':192C,417C 'v0.28.0':270C 'v1':145C,262C,567C 'v2':584C 'valid':455C,486C 'verifi':230C,444C 'via':5A,182C 'vllm':1A,29A,42B,50B,99C,180C,238C,582C,656C 'vllm/config/vllm.py':639C 'vllm/renderers/embed_utils.py':448C 'vllm/transformers_utils/config.py':345C 'vllm/v1/engine/input_processor.py':472C 'vllm/v1/request.py':496C 'vllm/v1/worker/gpu_model_runner.py':261C 'wheel':240C,659C 'whenev':320C 'whole':83B,250C 'without':589C 'worker':385C,543C 'xd':10A,44B,68B,128C,168C,214C,303C,327C 'xd-rope':9A,43B,67B,127C,167C,213C,302C,326C 'xdrope':135C,279C,288C,330C,339C,355C,526C 'zero':513C 'zero-fil':512C","nicknames":[],"mitigations":[],"who_affected":"Deployments that serve an XD-RoPE model, enable `--enable-prompt-embeds`, and use the V1 model runner are exposed. The advisory states that without `--api-key` the attack needs no authentication, and with it any authorized caller can trigger it. Servers without XD-RoPE models or without prompt embeds enabled can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["vllm"],"ptokens":["vllm"],"labels":["aitooling","cwe617","gpuinference","medium","pypi","python","selfhosted","vllm","xdrope"],"campaign_type":null,"search_a":"'-2026':17A '-55514':18A '2vr2':23A,28A '5q78':21A,26A 'cve':16A 'denial':2A 'emb':7A 'fix':14A 'ghsa':20A,25A 'ghsa-5q78-j82c-2vr2':19A,24A 'incomplet':13A 'j82c':22A,27A 'model':12A 'prompt':6A 'rope':11A 'servic':4A 'via':5A 'vllm':1A,29A 'xd':10A 'xd-rope':9A","search_b":"'-617':34B 'abort':55B 'ai':31B 'ai-tool':30B 'api':84B 'assert':48B 'client':89B 'complet':63B 'concurr':88B 'cwe':33B 'disconnect':86B 'embed':61B,74B 'embeddings-on':60B 'enabl':75B 'engin':57B 'everi':87B 'gpu':36B,52B 'gpu-infer':35B 'hit':65B 'host':41B 'infer':37B 'model':53B,70B 'one':76B 'prompt':73B 'python':38B 'reachabl':47B 'request':64B,78B 'rope':45B,69B 'runner':54B 'self':40B 'self-host':39B 'serv':71B 'server':85B 'take':80B 'tool':32B 'unauthent':77B 'vllm':42B,50B 'whole':83B 'xd':44B,68B 'xd-rope':43B,67B","search_c":"'-08':650C '-146':498C '-2026':173C '-2490':643C '-28':651C '-346':474C '-38':450C '-55514':174C '-594':347C '-652':641C '/v1/completions':107C '/vllm/v1/worker/gp':673C '0':332C,357C,587C '0.28.0':239C,657C '1':447C,610C,619C '145':497C '1689':271C '1694':272C '17':449C '1742':267C '1746':268C '2':471C '2026':411C,649C '2396':642C '3':495C '33cg':177C,400C '343':473C '3p8g':179C,402C '4':517C '470229c37':195C,414C '580':346C '6000':655C '620':640C '6f7df92a8':275C 'accept':480C 'add':207C 'affect':259C,563C 'alway':375C 'api':102C,549C 'architectur':594C 'assert':160C,201C,221C,293C,301C,364C,420C,443C,574C 'assertionerror':531C 'attack':94C,246C,667C 'avail':311C 'cachedrequestst':284C 'call':445C 'cast':290C 'caus':153C,362C 'chain':446C 'class':506C 'client':256C 'code':260C 'commit':194C,413C 'concurr':255C 'config':132C,337C,597C 'configur':564C,580C 'contain':110C 'core.py:1348':671C 'cover':433C 'crash':96C,151C 'custom':626C 'cve':172C 'dbo':622C 'def':277C 'default':539C 'defect':395C 'deploy':544C 'deriv':333C 'describ':396C 'detail':258C 'detect':324C 'die':547C 'dim':331C,356C 'disconnect':257C 'dos':181C 'draft':605C 'drop':554C 'e.g':136C 'eagl':603C 'eagle3':606C 'elast':623C 'emb':113C,142C,184C,454C,466C,476C 'embed':379C,500C 'embeddings-on':378C,499C 'enabl':140C,464C 'enable-prompt-emb':139C,463C 'end':232C,234C,645C,647C 'end-to-end':231C,644C 'engin':100C 'enginecor':534C,546C,669C 'entir':98C 'environ':588C 'error':670C 'everi':316C,555C 'exact':394C 'excerpt':663C 'execut':535C 'expert':624C 'extern':613C 'fast':635C 'fatal':300C 'field':338C 'file':672C 'fill':514C 'first':505C,519C 'first-class':504C 'fix':190C,197C,412C 'flag':462C 'flight':558C 'ghsa':176C,399C 'ghsa-33cg-gxv8-3p8g':175C,398C 'gpu':147C,244C,263C,600C 'gpu_model_runner.py':352C 'gpumodelrunner._init_xdrope_positions':162C 'guard':371C 'gxv8':178C,401C 'hf':131C,336C 'id':121C,296C,308C,389C,469C,484C,493C,509C 'ident':200C 'impos':489C 'in-flight':556C 'in-process':540C 'includ':581C 'init':203C,278C,525C 'input':477C,488C 'insid':532C 'invok':314C 'june':410C 'kv':633C 'kv-share':632C 'launcher':614C 'legitim':382C 'line':266C 'list':516C 'load':452C 'log':662C 'logic':638C 'logit':628C 'logits-processor':627C 'loop':536C 'm':187C,406C,425C,436C 'm-rope':186C,405C,424C,435C 'main':223C,274C 'make':248C 'mani':578C 'method':598C 'miss':218C 'model':130C,148C,189C,264C,285C,287C,289C,292C,322C,487C,568C,585C 'model_config.uses':329C 'mrope':204C 'mrv1':146C 'mypi':367C 'narrow':159C,370C 'newli':317C 'ngram':599C 'none':299C,390C,485C 'nvidia':652C 'observ':648C 'one':245C 'p':602C 'p-eagl':601C 'parallel':604C,609C,616C,625C 'path':216C,427C 'pipelin':608C 'placehold':515C 'plugin':630C 'posit':205C,280C,527C 'pp':611C 'prefil':636C 'pro':654C 'process':252C,542C 'processor':629C 'prompt':112C,115C,119C,141C,183C,306C,387C,453C,465C,482C 'pypi':658C 'python':276C,348C 'rais':530C 'reach':383C,441C 'reachabl':156C,576C 'real':243C,660C 'regress':209C,430C 'releas':237C,415C 'remot':93C 'remov':198C,418C 'report':229C 'req':282C,359C,528C 'req_state.prompt':294C 'request':108C,247C,319C,350C,381C,440C,502C,524C,559C,668C 'requir':305C,459C,470C,494C 'rocm':592C 'rocm-specif':591C 'root':361C 'rope':129C,169C,188C,215C,304C,328C,407C,426C,437C 'rope_scaling.type':134C 'rope_scaling.xdrope':342C 'rtx':653C 'run':125C 'runner':149C,265C,569C,586C 'safe':451C 'schedul':318C,520C 'section':340C,343C 'see':344C 'select':571C,637C 'self':281C 'self._init_xdrope_positions':358C 'self.get':286C 'self.uses':354C 'sequenc':615C 'server':103C,124C,251C,461C,550C,661C 'shape/dtype':458C 'share':634C 'shut':552C 'sibl':170C,408C 'singl':106C,666C 'specif':593C 'specul':596C 'speculative-config':595C 'state':283C,360C,522C,529C 'still':220C 'stock':620C 'summari':90C 'support':579C 'supportsxdrop':291C 'surfac':565C 'tenant':562C 'tencent/hunyuanocr':137C 'tensor':457C 'termin':253C 'test':210C,431C 'tests/v1/worker/test_mrope_prompt_embeds.py':432C 'text':116C 'thus':575C 'time':226C 'token':120C,295C,307C,388C,468C,483C,492C,508C 'token-id':491C 'torch.compile':621C 'tp':618C 'triton':590C 'true':376C 'type':158C,369C,478C 'type-narrow':157C,368C 'unauthent':92C 'unpatch':166C 'updat':349C,521C,523C 'use':583C 'v0.24.0':192C,417C 'v0.28.0':270C 'v1':145C,262C,567C 'v2':584C 'valid':455C,486C 'verifi':230C,444C 'via':182C 'vllm':99C,180C,238C,582C,656C 'vllm/config/vllm.py':639C 'vllm/renderers/embed_utils.py':448C 'vllm/transformers_utils/config.py':345C 'vllm/v1/engine/input_processor.py':472C 'vllm/v1/request.py':496C 'vllm/v1/worker/gpu_model_runner.py':261C 'wheel':240C,659C 'whenev':320C 'whole':250C 'without':589C 'worker':385C,543C 'xd':128C,168C,214C,303C,327C 'xd-rope':127C,167C,213C,302C,326C 'xdrope':135C,279C,288C,330C,339C,355C,526C 'zero':513C 'zero-fil':512C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-10-27T22:18:41+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"ghsa-repo","external_id":"GHSA-5q78-j82c-2vr2","url":"https://github.com/vllm-project/vllm/security/advisories/GHSA-5q78-j82c-2vr2","severity":"medium","published_at":"2026-10-27T22:18:41+00:00","modified_at":"2026-10-27T22:18:41+00:00","first_seen_at":"2026-11-09T22:53:23+00:00","fetched_at":"2026-11-09T22:53:23+00:00","note":null}],"documents":[{"id":110586,"url":"https://github.com/vllm-project/vllm/security/advisories/GHSA-5q78-j82c-2vr2","title":"Maintainer's advisory: github.com","kind":"vendor","source":"ghsa-repo","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Maintainer's advisory: github.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}