{"id":"CVE-2026-116372","kind":"vulnerability","aliases":["CVE-2026-116372"],"related":[],"title":"MISP mispguard: non-200 2xx feed responses skip filtering rules","description":"MISP mispguard is a security filtering proxy that inspects and blocks MISP feed responses based on configured rules. The process_feed_response method in src/mispguard.py was responsible for evaluating feed responses before they reached the MISP instance. The original logic only explicitly handled the case where the HTTP status code was not 200 by passing the response through without filtering, on the assumption that non-200 responses would not carry ingestible event data. However, HTTP 2xx status codes other than 200 (such as 201 Created, 203 Non-Authoritative Information, and 206 Partial Content) were also passed through unfiltered. Because MISP may still ingest content from these responses, a malicious or compromised feed host could return a 203 or 206 status code with arbitrary content, effectively bypassing all of mispguard's filtering rules. This allowed unfiltered or malicious feed data to be ingested into the MISP instance, undermining the security controls that mispguard is designed to enforce. The vulnerability requires the attacker to control or compromise a feed endpoint configured in the MISP instance. No authentication or user interaction is required beyond the feed polling mechanism already in place.","summary":"mispguard is a proxy that filters MISP feed responses before MISP ingests them. Responses with 2xx codes other than 200, such as 203 or 206, bypassed the filter, so a malicious or compromised feed host can push unfiltered content into MISP.","severity":"high","cvss":7.7,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["misp","mispguard","package","self-hosted","threat-intel"],"not_affected_if":["no-external-feeds","no-mispguard"],"how_to_check":"- Check the installed mispguard version in the MISP deployment, as the sources do not name the fixed release.\n- Review `src/mispguard.py` and look for `process_feed_response` handling only non-200 status codes.\n- List configured MISP feeds and note any fed by hosts outside your control.","fix":"- Upgrade mispguard to a release that filters all 2xx responses; the fixed version is unknown from the sources.\n- Until patched, restrict MISP feeds to trusted hosts.","status":"open","published_at":"2026-10-26T09:16:35+00:00","first_seen_at":"2026-10-26T09:29:15+00:00","triaged_at":"2026-10-26T09:30:49+00:00","updated_at":"2026-10-26T09:30:49+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-26T09:30:49Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade mispguard to a release that filters all 2xx responses; the fixed version is unknown from the sources.\n- Until patched, restrict MISP feeds to trusted hosts.","reach":"network","title":"MISP mispguard: non-200 2xx feed responses skip filtering rules","impact":"medium","summary":"mispguard is a proxy that filters MISP feed responses before MISP ingests them. Responses with 2xx codes other than 200, such as 203 or 206, bypassed the filter, so a malicious or compromised feed host can push unfiltered content into MISP.","category":"package","nicknames":[],"who_cares":["misp","mispguard","threat-intel","self-hosted"],"confidence":0.6,"needs_auth":"no","worst_case":"malicious feed data bypasses filters and gets ingested into MISP","analyst_note":"Find the fixed mispguard version and patch details at the NVD entry https://nvd.nist.gov/vuln/detail/CVE-2026-116372 and the upstream repository.","how_to_check":"- Check the installed mispguard version in the MISP deployment, as the sources do not name the fixed release.\n- Review `src/mispguard.py` and look for `process_feed_response` handling only non-200 status codes.\n- List configured MISP feeds and note any fed by hosts outside your control.","needs_analyst":true,"not_affected_if":["no-mispguard","no-external-feeds"],"who_is_affected":"Teams running MISP with the mispguard filtering proxy in front of feed polling. Exposure depends on whether a configured feed endpoint could be controlled or compromised by an attacker. Installations without mispguard, or without external feeds, can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.00067,"input_tokens":3595,"output_tokens":622,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-116372':13A,16A '-200':4A,132C '-2026':12A,15A '200':45B,119C,147C '201':150C '203':48B,152C,184C '206':50B,158C,186C '2xx':5A,41B,142C 'allow':201C 'alreadi':253C 'also':162C 'arbitrari':190C 'assumpt':129C 'attack':228C 'authent':242C 'authorit':155C 'base':81C 'beyond':248C 'block':77C 'bypass':51B,193C 'carri':136C 'case':111C 'code':42B,116C,144C,188C 'compromis':58B,178C,232C 'configur':83C,236C 'content':64B,160C,171C,191C 'control':217C,230C 'could':181C 'creat':151C 'cve':11A,14A 'data':139C,206C 'design':221C 'effect':192C 'endpoint':235C 'enforc':223C 'evalu':95C 'event':138C 'explicit':108C 'feed':6A,33B,59B,79C,87C,96C,179C,205C,234C,250C 'filter':9A,31B,53B,72C,126C,198C 'handl':109C 'host':22B,60B,180C 'howev':140C 'http':114C,141C 'inform':156C 'ingest':37B,137C,170C,209C 'inspect':75C 'instanc':103C,213C,240C 'intel':25B 'interact':245C 'logic':106C 'malici':56B,176C,204C 'may':168C 'mechan':252C 'method':89C 'misp':1A,17B,32B,36B,66B,67C,78C,102C,167C,212C,239C 'mispguard':2A,18B,26B,68C,196C,219C 'non':3A,131C,154C 'non-authorit':153C 'origin':105C 'packag':19B 'partial':159C 'pass':121C,163C 'place':255C 'poll':251C 'process':86C 'proxi':29B,73C 'push':62B 'reach':100C 'requir':226C,247C 'respons':7A,34B,39B,80C,88C,93C,97C,123C,133C,174C 'return':182C 'rule':10A,84C,199C 'secur':71C,216C 'self':21B 'self-host':20B 'skip':8A 'src/mispguard.py':91C 'status':115C,143C,187C 'still':169C 'threat':24B 'threat-intel':23B 'undermin':214C 'unfilt':63B,165C,202C 'user':244C 'vulner':225C 'without':125C 'would':134C","nicknames":[],"mitigations":[],"who_affected":"Teams running MISP with the mispguard filtering proxy in front of feed polling. Exposure depends on whether a configured feed endpoint could be controlled or compromised by an attacker. Installations without mispguard, or without external feeds, can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-26T09:16:35+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:H/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":"5a6e4751-2f3f-4070-9419-94fb35b644e8","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116372","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116372","severity":null,"published_at":"2026-10-26T09:16:35+00:00","modified_at":"2026-10-26T09:16:35+00:00","first_seen_at":"2026-10-26T09:29:15+00:00","fetched_at":"2026-10-26T09:29:15+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}