{"id":"CVE-2026-126396","kind":"vulnerability","aliases":["CVE-2026-126396"],"related":[],"title":"vLLM: unchecked request pixel setting lets clients exhaust CPU and memory","description":"vLLM from 0.24.0 before 0.31.0 contains a resource exhaustion vulnerability in the MiniMax M3 VL video processor, which accepts request-level min_pixels without range or min_pixels <= max_pixels validation. Its video-wide pixel budget is enforced only when max_long_side_pixel is set, and that value defaults to None. API clients can supply a large min_pixels via mm_processor_kwargs to enlarge every decoded frame, causing excessive CPU and host-memory consumption that may disrupt workers or the service.","summary":"vLLM's MiniMax M3 VL video processor accepts a request-level min_pixels value without validation, so a client can enlarge every decoded frame. This drives excessive CPU and host-memory use that can disrupt workers or the service.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-inference","ai-tooling","minimax-m3-vl","self-hosted","vllm"],"not_affected_if":["no-minimax-m3-vl","no-video-input","outside-version-range"],"how_to_check":"- Check the installed vLLM version with `pip show vllm` and compare it to the fixed range.\n- Look for MiniMax M3 VL model deployments that accept `mm_processor_kwargs` from API clients.\n- Check whether `max_long_side_pixel` is set in the video processor configuration; it defaults to None.","fix":"- vLLM: move to `0.31.0` or later.","status":"open","published_at":"2026-11-13T10:17:43+00:00","first_seen_at":"2026-11-13T10:47:19+00:00","triaged_at":"2026-11-13T10:54:45+00:00","updated_at":"2026-11-13T10:54:45+00:00","category":"ai-tooling","confidence":0.7,"triage":{"at":"2026-11-13T10:54:45Z","model":"claude-haiku-5-5","output":{"fix":"- vLLM: move to `0.31.0` or later.","reach":"network","title":"vLLM: unchecked request pixel setting lets clients exhaust CPU and memory","impact":"medium","summary":"vLLM's MiniMax M3 VL video processor accepts a request-level min_pixels value without validation, so a client can enlarge every decoded frame. This drives excessive CPU and host-memory use that can disrupt workers or the service.","audience":"developers","category":"ai-tooling","nicknames":[],"who_cares":["vllm","ai-inference","minimax-m3-vl","self-hosted"],"confidence":0.7,"fix_status":"available","needs_auth":"unknown","worst_case":"Service workers exhaust host CPU and memory, causing disruption","analyst_note":"","how_to_check":"- Check the installed vLLM version with `pip show vllm` and compare it to the fixed range.\n- Look for MiniMax M3 VL model deployments that accept `mm_processor_kwargs` from API clients.\n- Check whether `max_long_side_pixel` is set in the video processor configuration; it defaults to None.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["outside-version-range","no-minimax-m3-vl","no-video-input"],"who_is_affected":"Teams running vLLM from 0.24.0 before 0.31.0 that serve MiniMax M3 VL video inputs to API clients. Exposure is greatest when the video pixel budget (max_long_side_pixel) is left at its default of unset and clients can pass mm_processor_kwargs. Deployments on other models or on versions outside the range can skip it.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000773,"input_tokens":4692,"output_tokens":607,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-126396':14A,17A '-2026':13A,16A '0.24.0':75C '0.31.0':77C 'accept':39B,91C 'ai':19B,22B 'ai-infer':18B 'ai-tool':21B 'api':127C 'budget':110C 'caus':144C 'client':7A,51B,128C 'consumpt':151C 'contain':78C 'cpu':9A,60B,146C 'cve':12A,15A 'decod':55B,142C 'default':124C 'disrupt':68B,154C 'drive':58B 'enforc':112C 'enlarg':53B,140C 'everi':54B,141C 'excess':59B,145C 'exhaust':8A,81C 'frame':56B,143C 'host':30B,63B,149C 'host-memori':62B,148C 'infer':20B 'kwarg':138C 'larg':132C 'let':6A 'level':43B,94C 'long':116C 'm3':26B,35B,86C 'max':102C,115C 'may':153C 'memori':11A,64B,150C 'min':44B,95C,100C,133C 'minimax':25B,34B,85C 'minimax-m3-vl':24B 'mm':136C 'none':126C 'pixel':4A,45B,96C,101C,103C,109C,118C,134C 'processor':38B,89C,137C 'rang':98C 'request':3A,42B,93C 'request-level':41B,92C 'resourc':80C 'self':29B 'self-host':28B 'servic':72B,158C 'set':5A,120C 'side':117C 'suppli':130C 'tool':23B 'uncheck':2A 'use':65B 'valid':48B,104C 'valu':46B,123C 'via':135C 'video':37B,88C,107C 'video-wid':106C 'vl':27B,36B,87C 'vllm':1A,31B,32B,73C 'vulner':82C 'wide':108C 'without':47B,97C 'worker':69B,155C","nicknames":[],"mitigations":[],"who_affected":"Teams running vLLM from 0.24.0 before 0.31.0 that serve MiniMax M3 VL video inputs to API clients. Exposure is greatest when the video pixel budget (max_long_side_pixel) is left at its default of unset and clients can pass mm_processor_kwargs. Deployments on other models or on versions outside the range can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["aiinference","aitooling","medium","minimaxm3vl","selfhosted","vllm"],"campaign_type":null,"search_a":"'-126396':14A,17A '-2026':13A,16A 'client':7A 'cpu':9A 'cve':12A,15A 'exhaust':8A 'let':6A 'memori':11A 'pixel':4A 'request':3A 'set':5A 'uncheck':2A 'vllm':1A","search_b":"'accept':39B 'ai':19B,22B 'ai-infer':18B 'ai-tool':21B 'client':51B 'cpu':60B 'decod':55B 'disrupt':68B 'drive':58B 'enlarg':53B 'everi':54B 'excess':59B 'frame':56B 'host':30B,63B 'host-memori':62B 'infer':20B 'level':43B 'm3':26B,35B 'memori':64B 'min':44B 'minimax':25B,34B 'minimax-m3-vl':24B 'pixel':45B 'processor':38B 'request':42B 'request-level':41B 'self':29B 'self-host':28B 'servic':72B 'tool':23B 'use':65B 'valid':48B 'valu':46B 'video':37B 'vl':27B,36B 'vllm':31B,32B 'without':47B 'worker':69B","search_c":"'0.24.0':75C '0.31.0':77C 'accept':91C 'api':127C 'budget':110C 'caus':144C 'client':128C 'consumpt':151C 'contain':78C 'cpu':146C 'decod':142C 'default':124C 'disrupt':154C 'enforc':112C 'enlarg':140C 'everi':141C 'excess':145C 'exhaust':81C 'frame':143C 'host':149C 'host-memori':148C 'kwarg':138C 'larg':132C 'level':94C 'long':116C 'm3':86C 'max':102C,115C 'may':153C 'memori':150C 'min':95C,100C,133C 'minimax':85C 'mm':136C 'none':126C 'pixel':96C,101C,103C,109C,118C,134C 'processor':89C,137C 'rang':98C 'request':93C 'request-level':92C 'resourc':80C 'servic':158C 'set':120C 'side':117C 'suppli':130C 'valid':104C 'valu':123C 'via':135C 'video':88C,107C 'video-wid':106C 'vl':87C 'vllm':73C 'vulner':82C 'wide':108C 'without':97C 'worker':155C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-10-27T22:22:44+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-126396","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126396","severity":null,"published_at":"2026-11-13T10:17:43+00:00","modified_at":"2026-11-13T10:17:43+00:00","first_seen_at":"2026-11-13T10:47:19+00:00","fetched_at":"2026-11-13T10:47:19+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":"2026-10-27T22:22:44+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":145035,"url":"https://www.vulncheck.com/advisories/vllm-from-0.24.0-before-0.31.0-resource-exhaustion-via-minimax-m3-min-pixels","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.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"}