{"id":"GHSA-w4cg-mhc7-mgw3","kind":"vulnerability","aliases":["GHSA-w4cg-mhc7-mgw3"],"related":[],"title":"MiniMax M3 video preprocessing permits request-driven CPU resource exhaustion through min_pixels","description":"Description\n\n### Summary\n\nA client allowed to call the OpenAI-compatible API can pass request-level `mm_processor_kwargs` to the MiniMax M3 VL video processor. The processor accepts `min_pixels` without a numeric range or relationship check. A large value can enlarge every decoded frame well beyond the default per-frame `max_pixels` value.\n\nThe processor has a fixed width × height × frame-count budget, but it applies that check only when `max_long_side_pixel` is set. Its default value is `None`, so the normal area-based resize path skips the video-wide budget and proceeds to resize, normalize, reshape, and concatenate the enlarged tensors before later engine validation.\n\nThis can cause disproportionate host-memory allocation and CPU work from one video request and may disrupt the worker or service. I confirmed the complete request-to-allocation path by static source review. I did not run vLLM, a model, a server, a GPU workload, or an executable proof of concept, so I am not claiming a measured out-of-memory threshold or a guaranteed process crash.\n\nI assessed vLLM `v0.28.0`. The same vulnerable conditions are present in every inspected release from `v0.24.0` through `v0.29.0`; no patched release was available when I checked on 2026-09-09.\n\n### Details\n\nThe public chat and responses request schemas expose `mm_processor_kwargs` as `dict[str, Any]`:\n\n- [`vllm/entrypoints/openai/chat_completion/protocol.py`, lines 372-375](https://github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/chat_completion/protocol.py#L372-L375)\n- [`vllm/entrypoints/openai/responses/protocol.py`, lines 238-241](https://github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/responses/protocol.py#L238-L241)\n\nThe renderer forwards this dictionary as the request's multimodal processor defaults, and inference-time values override the startup values:\n\n- [`vllm/renderers/online_renderer.py`, lines 406-413](https://github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/renderers/online_renderer.py#L406-L413)\n- [`vllm/config/multimodal.py`, lines 503-515](https://github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/config/multimodal.py#L503-L515)\n\nThe common processor wrapper filters keyword names but does not validate the numeric value or require `min_pixels <= max_pixels`. MiniMax's vLLM adapter then forces `do_resize=True` and passes the merged values to the processor:\n\n- [`vllm/transformers_utils/processor.py`, lines 117-142](https://github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processor.py#L117-L142)\n- [`vllm/models/minimax_m3/common/mm_preprocess.py`, lines 306-352](https://github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/models/minimax_m3/common/mm_preprocess.py#L306-L352)\n\n`smart_resize` first checks whether the current frame is above `max_pixels`. If it is not, the `elif` branch may enlarge it to the request-controlled `min_pixels`. The function does not reject `min_pixels > max_pixels`:\n\n```python\nif h_bar * w_bar > max_pixels:\n    beta = math.sqrt((height * width) / max_pixels)\n    h_bar = floor_by_factor(height / beta, factor)\n    w_bar = floor_by_factor(width / beta, factor)\nelif h_bar * w_bar < min_pixels:\n    beta = math.sqrt(min_pixels / (height * width))\n    h_bar = ceil_by_factor(height * beta, factor)\n    w_bar = ceil_by_factor(width * beta, factor)\n```\n\nSource: [`vllm/transformers_utils/processors/minimax_m3.py`, lines 108-148](https://github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processors/minimax_m3.py#L108-L148)\n\nThe video processor sets `max_long_side_pixel = None` and `max_total_pixels = VIDEO_MAX_TOTAL_PIXELS`. During preprocessing it deliberately passes `max_total_pixels=None` to the per-frame resize helper, intending to enforce the volumetric limit after the frame count is known. That later check is incorrectly conditional on `max_long_side_pixel is not None`:\n\n```python\nresized_height, resized_width = smart_resize(\n    height,\n    width,\n    factor=factor,\n    min_pixels=min_pixels,\n    max_pixels=max_pixels,\n    max_long_side_pixel=max_long_side_pixel,\n    min_short_side_pixel=self.min_short_side_pixel,\n    max_total_pixels=None,\n)\nif (\n    max_long_side_pixel is not None\n    and resized_height * resized_width * num_frames\n    > self.max_total_pixels\n):\n    raise ValueError(...)\n```\n\nSource: [`vllm/transformers_utils/processors/minimax_m3.py`, lines 342-424](https://github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processors/minimax_m3.py#L342-L424)\n\nWith the default `None` value, the processor skips this check and materializes resized and normalized tensors before concatenating the processed videos at line 491. The v1 engine's prompt and encoder-cache checks run after multimodal preprocessing, so they cannot prevent this allocation.\n\nThe decode-time `VLLM_MAX_IMAGE_PIXELS` check also does not close the path: it constrains the dimensions of an input frame before decoding, while the vulnerable processor enlarges that frame afterward.\n\n#### Public overlap checked\n\nPublic PR [#51449](https://github.com/vllm-project/vllm/pull/51449), `Bound request-controlled image and video geometry`, reports the same broad class for 16 other multimodal processors. It does not list MiniMax M3 or the `min_pixels`, `max_total_pixels`, and `max_long_side_pixel` fields, and its patch does not modify either MiniMax file cited above. Its shared changes cap request-level frame count and a generic sampling loop; they do not reject `min_pixels > max_pixels` or make the MiniMax volumetric check unconditional. PR #51449 was closed without merge on 2026-08-10.\n\nPublic PR [#53610](https://github.com/vllm-project/vllm/pull/53610) refactors the MiniMax adapter but continues forwarding the processor kwargs without these checks. PR [#54935](https://github.com/vllm-project/vllm/pull/54935) fixes request-driven video sampling work in GLMGA, a different processor and sink. I therefore consider this report a MiniMax M3 sibling omitted from the public geometry-amplification work, rather than a separate vulnerability class. It may belong under the same advisory family at the maintainers' discretion.\n\nSuggested remediation is to validate the merged processor values before allocation, including positive numeric bounds and `min_pixels <= max_pixels`, and to enforce `resized_height * resized_width * num_frames <= max_total_pixels` regardless of the selected resize mode. The check should run before `self.resize`.\n\n### Impact\n\nThe established impact is attacker-influenced CPU allocation and computation before request-level engine validation. On an exposed MiniMax M3 VL deployment, a permitted inference client can submit video work that consumes memory and CPU far out of proportion to the decoded input. Depending on available memory and process supervision, this may cause allocation failure, worker termination, restart, or temporary loss of service.\n\nThe finding does not establish confidentiality or integrity impact. It also does not establish a reliable crash threshold for every deployment. API authentication, proxy request limits, and host memory affect attack cost, but they do not enforce the missing relationship and volumetric checks inside the processor.\n\n## Affected versions\n\n- Package: `vllm` (PyPI).\n- Affected versions: `>= 0.24.0, < 0.31.0`.\n- First stable patched version: `0.31.0`.\n\nPR #58830 blocks untrusted per-request `mm_processor_kwargs` and `media_io_kwargs` by default before preprocessing. Keep `--trust-request-mm-kwargs` disabled for untrusted clients. Explicitly enabling it restores trusted override behavior; the underlying processor/sampler is not independently bounded by this fix.\n\nAdvisory fixed in [#58830](https://github.com/vllm-project/vllm/pull/58830).","summary":"A client allowed to call vLLM's OpenAI-compatible API can pass request-level mm_processor_kwargs that make the MiniMax M3 video processor enlarge frames without limit. The resulting oversized allocations and CPU work can exhaust host memory and disrupt the worker or service.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"vllm","fixed":["0.31.0"],"affected":">= 0.24.0, < 0.31.0","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["ai-tooling","cwe-770","minimax-m3","openai-compatible-api","self-hosted","vllm"],"not_affected_if":["no-minimax-m3-deployment","no-video-input"],"how_to_check":"- Run `pip show vllm` or `python -c \"import vllm; print(vllm.__version__)\"` and compare against `>= 0.24.0, < 0.31.0`\n- Check whether the deployment serves a MiniMax M3 VL model\n- Check whether `--trust-request-mm-kwargs` is enabled, since the fix keeps it disabled for untrusted clients","fix":"- vllm: move to `0.31.0`\n- Keep `--trust-request-mm-kwargs` disabled for untrusted clients","status":"open","published_at":"2026-10-27T22:22:44+00:00","first_seen_at":"2026-11-09T22:53:23+00:00","triaged_at":"2026-11-09T22:56:53+00:00","updated_at":"2026-11-09T22:56:53+00:00","category":"ai-tooling","confidence":0.8,"triage":{"at":"2026-11-09T22:56:53Z","model":"claude-haiku-5-5","output":{"fix":"- vllm: move to `0.31.0`\n- Keep `--trust-request-mm-kwargs` disabled for untrusted clients","reach":"network","title":"vLLM: MiniMax M3 video input can exhaust server CPU and memory","impact":"medium","summary":"A client allowed to call vLLM's OpenAI-compatible API can pass request-level mm_processor_kwargs that make the MiniMax M3 video processor enlarge frames without limit. The resulting oversized allocations and CPU work can exhaust host memory and disrupt the worker or service.","audience":"businesses","category":"ai-tooling","nicknames":[],"who_cares":["vllm","minimax-m3","self-hosted","openai-compatible-api"],"confidence":0.8,"fix_status":"available","needs_auth":"yes","worst_case":"Worker memory and CPU exhausted, service may crash or restart","analyst_note":"","how_to_check":"- Run `pip show vllm` or `python -c \"import vllm; print(vllm.__version__)\"` and compare against `>= 0.24.0, < 0.31.0`\n- Check whether the deployment serves a MiniMax M3 VL model\n- Check whether `--trust-request-mm-kwargs` is enabled, since the fix keeps it disabled for untrusted clients","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["no-minimax-m3-deployment","no-video-input"],"who_is_affected":"The flaw is in vLLM's video preprocessing for MiniMax M3 VL models, so a deployment is exposed when it serves that model and accepts video requests from clients it does not fully trust. Any client allowed to call the OpenAI-compatible chat or responses API can reach the vulnerable path through request-level mm_processor_kwargs. Deployments that do not serve MiniMax M3 or do not accept video input are not affected by this path.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"no","severity_if_unknown":"unknown"},"cost_usd":0.001744,"input_tokens":7670,"output_tokens":1953,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-09':302C,303C '-142':409C '-148':521C '-241':330C '-352':416C '-375':323C '-413':358C '-515':365C '-770':30B '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/config/multimodal.py#l503-l515)':368C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/chat_completion/protocol.py#l372-l375)':326C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/responses/protocol.py#l238-l241)':333C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/models/minimax_m3/common/mm_preprocess.py#l306-l352)':419C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/renderers/online_renderer.py#l406-l413)':361C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processor.py#l117-l142)':412C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processors/minimax_m3.py#l108-l148)':524C '108':520C '117':408C '2026':301C '238':329C '306':415C '372':322C '406':357C '503':364C 'accept':118C 'adapt':392C 'ai':27B 'ai-tool':26B 'alloc':75B,211C,233C 'allow':44B,93C 'api':37B,52B,100C 'appli':159C 'area':179C 'area-bas':178C 'assess':275C 'avail':296C 'bar':461C,463C,473C,481C,490C,492C,502C,510C 'base':180C 'beta':466C,478C,486C,495C,507C,515C 'beyond':137C 'branch':438C 'budget':156C,188C 'call':46B,95C 'caus':206C 'ceil':503C,511C 'chat':307C 'check':127C,161C,299C,423C 'claim':261C 'client':43B,92C 'common':370C 'compat':36B,51B,99C 'complet':229C 'concaten':196C 'concept':256C 'condit':281C 'confirm':227C 'control':446C 'count':155C 'cpu':9A,77B,213C 'crash':273C 'current':426C 'cwe':29B 'decod':134C 'default':139C,171C,345C 'deliber':545C 'descript':89C 'detail':304C 'dict':317C 'dictionari':338C 'disproportion':207C 'disrupt':84B,221C 'driven':8A 'elif':437C,488C 'enforc':560C 'engin':202C 'enlarg':68B,132C,198C,440C 'everi':133C,285C 'execut':253C 'exhaust':11A,80B 'expos':312C 'factor':476C,479C,484C,487C,505C,508C,513C,516C 'filter':373C 'first':422C 'fix':150C 'floor':474C,482C 'forc':394C 'forward':336C 'fr':566C 'frame':69B,135C,142C,154C,427C,555C 'frame-count':153C 'function':450C 'ghsa':16A,21A 'ghsa-w4cg-mhc7-mgw3':15A,20A 'github.com':325C,332C,360C,367C,411C,418C,523C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/config/multimodal.py#l503-l515)':366C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/chat_completion/protocol.py#l372-l375)':324C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/responses/protocol.py#l238-l241)':331C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/models/minimax_m3/common/mm_preprocess.py#l306-l352)':417C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/renderers/online_renderer.py#l406-l413)':359C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processor.py#l117-l142)':410C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processors/minimax_m3.py#l108-l148)':522C 'gpu':249C 'guarante':271C 'h':460C,472C,489C,501C 'height':152C,468C,477C,499C,506C 'helper':557C 'host':40B,81B,209C 'host-memori':208C 'infer':348C 'inference-tim':347C 'inspect':286C 'intend':558C 'keyword':374C 'kwarg':60B,108C,315C 'larg':129C 'later':201C 'level':57B,105C 'limit':71B,563C 'line':321C,328C,356C,363C,407C,414C,519C 'long':165C,530C 'm3':2A,33B,65B,112C 'make':62B 'math.sqrt':467C,496C 'max':143C,164C,387C,430C,456C,464C,470C,529C,535C,539C,547C 'may':220C,439C 'measur':263C 'memori':82B,210C,267C 'merg':401C 'mgw3':19A,24A 'mhc7':18A,23A 'min':13A,119C,385C,447C,454C,493C,497C 'minimax':1A,32B,64B,111C,389C 'minimax-m3':31B 'mm':58B,106C,313C 'model':245C 'multimod':343C 'name':375C 'none':174C,533C,550C 'normal':177C,193C 'numer':123C,381C 'one':216C 'openai':35B,50B,98C 'openai-compat':49B,97C 'openai-compatible-api':34B 'out-of-memori':264C 'overrid':351C 'overs':74B 'pass':54B,102C,399C,546C 'patch':293C 'path':182C,234C 'per':141C,554C 'per-fram':140C,553C 'permit':5A 'pixel':14A,120C,144C,167C,386C,388C,431C,448C,455C,457C,465C,471C,494C,498C,532C,537C,541C,549C 'preprocess':4A,543C 'present':283C 'proceed':190C 'process':272C 'processor':59B,67B,107C,115C,117C,147C,314C,344C,371C,405C,527C 'proof':254C 'public':306C 'python':458C 'rang':124C 'reject':453C 'relationship':126C 'releas':287C,294C 'render':335C 'request':7A,56B,104C,218C,231C,310C,341C,445C 'request-control':444C 'request-driven':6A 'request-level':55B,103C 'request-to-alloc':230C 'requir':384C 'reshap':194C 'resiz':181C,192C,396C,421C,556C 'resourc':10A 'respons':309C 'result':73B 'review':238C 'run':242C 'schema':311C 'self':39B 'self-host':38B 'server':247C 'servic':88B,225C 'set':169C,528C 'side':166C,531C 'skip':183C 'smart':420C 'sourc':237C,517C 'startup':353C 'static':236C 'str':318C 'summari':90C 'tensor':199C 'threshold':268C 'time':349C 'tool':28B 'total':536C,540C,548C 'true':397C 'v0.24.0':289C 'v0.28.0':277C 'v0.29.0':291C 'valid':203C,379C 'valu':130C,145C,172C,350C,354C,382C,402C 'video':3A,66B,114C,186C,217C,526C,538C 'video-wid':185C 'vl':113C 'vllm':25A,41B,47B,243C,276C,391C 'vllm/config/multimodal.py':362C 'vllm/entrypoints/openai/chat_completion/protocol.py':320C 'vllm/entrypoints/openai/responses/protocol.py':327C 'vllm/models/minimax_m3/common/mm_preprocess.py':413C 'vllm/renderers/online_renderer.py':355C 'vllm/transformers_utils/processor.py':406C 'vllm/transformers_utils/processors/minimax_m3.py':518C 'volumetr':562C 'vulner':280C 'w':462C,480C,491C,509C 'w4cg':17A,22A 'well':136C 'whether':424C 'wide':187C 'width':151C,469C,485C,500C,514C 'without':70B,121C 'work':78B,214C 'worker':86B,223C 'workload':250C 'wrapper':372C","nicknames":[],"mitigations":[],"who_affected":"The flaw is in vLLM's video preprocessing for MiniMax M3 VL models, so a deployment is exposed when it serves that model and accepts video requests from clients it does not fully trust. Any client allowed to call the OpenAI-compatible chat or responses API can reach the vulnerable path through request-level mm_processor_kwargs. Deployments that do not serve MiniMax M3 or do not accept video input are not affected by this path.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["vllm"],"ptokens":["vllm"],"labels":["aitooling","cwe770","medium","minimaxm3","openaicompatibleapi","pypi","selfhosted","vllm"],"campaign_type":null,"search_a":"'cpu':9A 'driven':8A 'exhaust':11A 'ghsa':16A,21A 'ghsa-w4cg-mhc7-mgw3':15A,20A 'm3':2A 'mgw3':19A,24A 'mhc7':18A,23A 'min':13A 'minimax':1A 'permit':5A 'pixel':14A 'preprocess':4A 'request':7A 'request-driven':6A 'resourc':10A 'video':3A 'vllm':25A 'w4cg':17A,22A","search_b":"'-770':30B 'ai':27B 'ai-tool':26B 'alloc':75B 'allow':44B 'api':37B,52B 'call':46B 'client':43B 'compat':36B,51B 'cpu':77B 'cwe':29B 'disrupt':84B 'enlarg':68B 'exhaust':80B 'frame':69B 'host':40B,81B 'kwarg':60B 'level':57B 'limit':71B 'm3':33B,65B 'make':62B 'memori':82B 'minimax':32B,64B 'minimax-m3':31B 'mm':58B 'openai':35B,50B 'openai-compat':49B 'openai-compatible-api':34B 'overs':74B 'pass':54B 'processor':59B,67B 'request':56B 'request-level':55B 'result':73B 'self':39B 'self-host':38B 'servic':88B 'tool':28B 'video':66B 'vllm':41B,47B 'without':70B 'work':78B 'worker':86B","search_c":"'-09':302C,303C '-142':409C '-148':521C '-241':330C '-352':416C '-375':323C '-413':358C '-515':365C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/config/multimodal.py#l503-l515)':368C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/chat_completion/protocol.py#l372-l375)':326C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/responses/protocol.py#l238-l241)':333C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/models/minimax_m3/common/mm_preprocess.py#l306-l352)':419C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/renderers/online_renderer.py#l406-l413)':361C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processor.py#l117-l142)':412C '/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processors/minimax_m3.py#l108-l148)':524C '108':520C '117':408C '2026':301C '238':329C '306':415C '372':322C '406':357C '503':364C 'accept':118C 'adapt':392C 'alloc':211C,233C 'allow':93C 'api':100C 'appli':159C 'area':179C 'area-bas':178C 'assess':275C 'avail':296C 'bar':461C,463C,473C,481C,490C,492C,502C,510C 'base':180C 'beta':466C,478C,486C,495C,507C,515C 'beyond':137C 'branch':438C 'budget':156C,188C 'call':95C 'caus':206C 'ceil':503C,511C 'chat':307C 'check':127C,161C,299C,423C 'claim':261C 'client':92C 'common':370C 'compat':99C 'complet':229C 'concaten':196C 'concept':256C 'condit':281C 'confirm':227C 'control':446C 'count':155C 'cpu':213C 'crash':273C 'current':426C 'decod':134C 'default':139C,171C,345C 'deliber':545C 'descript':89C 'detail':304C 'dict':317C 'dictionari':338C 'disproportion':207C 'disrupt':221C 'elif':437C,488C 'enforc':560C 'engin':202C 'enlarg':132C,198C,440C 'everi':133C,285C 'execut':253C 'expos':312C 'factor':476C,479C,484C,487C,505C,508C,513C,516C 'filter':373C 'first':422C 'fix':150C 'floor':474C,482C 'forc':394C 'forward':336C 'fr':566C 'frame':135C,142C,154C,427C,555C 'frame-count':153C 'function':450C 'github.com':325C,332C,360C,367C,411C,418C,523C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/config/multimodal.py#l503-l515)':366C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/chat_completion/protocol.py#l372-l375)':324C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/entrypoints/openai/responses/protocol.py#l238-l241)':331C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/models/minimax_m3/common/mm_preprocess.py#l306-l352)':417C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/renderers/online_renderer.py#l406-l413)':359C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processor.py#l117-l142)':410C 'github.com/vllm-project/vllm/blob/2cf0a6915ce544dc493a0990f2ea38d81601128a/vllm/transformers_utils/processors/minimax_m3.py#l108-l148)':522C 'gpu':249C 'guarante':271C 'h':460C,472C,489C,501C 'height':152C,468C,477C,499C,506C 'helper':557C 'host':209C 'host-memori':208C 'infer':348C 'inference-tim':347C 'inspect':286C 'intend':558C 'keyword':374C 'kwarg':108C,315C 'larg':129C 'later':201C 'level':105C 'limit':563C 'line':321C,328C,356C,363C,407C,414C,519C 'long':165C,530C 'm3':112C 'math.sqrt':467C,496C 'max':143C,164C,387C,430C,456C,464C,470C,529C,535C,539C,547C 'may':220C,439C 'measur':263C 'memori':210C,267C 'merg':401C 'min':119C,385C,447C,454C,493C,497C 'minimax':111C,389C 'mm':106C,313C 'model':245C 'multimod':343C 'name':375C 'none':174C,533C,550C 'normal':177C,193C 'numer':123C,381C 'one':216C 'openai':98C 'openai-compat':97C 'out-of-memori':264C 'overrid':351C 'pass':102C,399C,546C 'patch':293C 'path':182C,234C 'per':141C,554C 'per-fram':140C,553C 'pixel':120C,144C,167C,386C,388C,431C,448C,455C,457C,465C,471C,494C,498C,532C,537C,541C,549C 'preprocess':543C 'present':283C 'proceed':190C 'process':272C 'processor':107C,115C,117C,147C,314C,344C,371C,405C,527C 'proof':254C 'public':306C 'python':458C 'rang':124C 'reject':453C 'relationship':126C 'releas':287C,294C 'render':335C 'request':104C,218C,231C,310C,341C,445C 'request-control':444C 'request-level':103C 'request-to-alloc':230C 'requir':384C 'reshap':194C 'resiz':181C,192C,396C,421C,556C 'respons':309C 'review':238C 'run':242C 'schema':311C 'server':247C 'servic':225C 'set':169C,528C 'side':166C,531C 'skip':183C 'smart':420C 'sourc':237C,517C 'startup':353C 'static':236C 'str':318C 'summari':90C 'tensor':199C 'threshold':268C 'time':349C 'total':536C,540C,548C 'true':397C 'v0.24.0':289C 'v0.28.0':277C 'v0.29.0':291C 'valid':203C,379C 'valu':130C,145C,172C,350C,354C,382C,402C 'video':114C,186C,217C,526C,538C 'video-wid':185C 'vl':113C 'vllm':243C,276C,391C 'vllm/config/multimodal.py':362C 'vllm/entrypoints/openai/chat_completion/protocol.py':320C 'vllm/entrypoints/openai/responses/protocol.py':327C 'vllm/models/minimax_m3/common/mm_preprocess.py':413C 'vllm/renderers/online_renderer.py':355C 'vllm/transformers_utils/processor.py':406C 'vllm/transformers_utils/processors/minimax_m3.py':518C 'volumetr':562C 'vulner':280C 'w':462C,480C,491C,509C 'well':136C 'whether':424C 'wide':187C 'width':151C,469C,485C,500C,514C 'without':121C 'work':214C 'worker':223C 'workload':250C 'wrapper':372C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-10-27T22:22:44+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"ghsa-repo","external_id":"GHSA-w4cg-mhc7-mgw3","url":"https://github.com/vllm-project/vllm/security/advisories/GHSA-w4cg-mhc7-mgw3","severity":"medium","published_at":"2026-10-27T22:22:44+00:00","modified_at":"2026-10-27T22:22:44+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":110583,"url":"https://github.com/vllm-project/vllm/security/advisories/GHSA-w4cg-mhc7-mgw3","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"}