{"id":"CVE-2026-116469","kind":"vulnerability","aliases":["CVE-2026-116469"],"related":[],"title":"MISP Guard: case-sensitive policy checks let restricted threat-intel events leak","description":"MISP Guard, a proxy-based security filter for MISP (Malware Information Sharing Platform) feed distribution, contains a case-sensitivity flaw in multiple policy enforcement checks. The functions check_required_taxonomy_exists, check_required_taxonomy_tags_allowed, check_blocked_attribute_categories, and check_blocked_analyst_data_sharing_groups_uuids performed case-sensitive string comparisons when matching event tags, attribute categories, and sharing-group UUIDs against configured allow/block lists.\n\nAn attacker with the ability to create or modify events in a MISP instance (or a connected instance that pushes events through the guard) could craft events using different letter case in taxonomy tag names, attribute categories, or sharing-group UUIDs to bypass the configured security policies. For example, if the policy requires the 'tlp' taxonomy with only 'tlp:clear' allowed, an event tagged 'TLP:AMBER' would not be recognized as belonging to the 'tlp' taxonomy and would therefore not be checked against the allowed-tags list, resulting in the event being forwarded to feed consumers. Similarly, a blocked attribute category such as 'Person' would not match a configured block entry of 'person', allowing the attribute to pass through the filter.\n\nThe security impact is unauthorized disclosure of threat-intelligence data that the operator intended to restrict. Events carrying non-allowed TLP (Traffic Light Protocol) markings, blocked attribute categories, or blocked sharing-group associations are forwarded to downstream feed consumers in violation of the configured distribution policy. This undermines the confidentiality controls that MISP Guard is designed to enforce.\n\nThe vulnerability is trivially exploitable: the attacker only needs to alter the letter case of a tag, category, or UUID string. No authentication beyond normal MISP event-creation privileges is required, and no user interaction is needed.","summary":"MISP Guard, a proxy filter for MISP threat-intelligence feeds, compares taxonomy tags, attribute categories and sharing-group UUIDs case-sensitively against its allow and block lists. An event with altered letter case, such as 'TLP:AMBER' instead of 'tlp:amber', slips past the policy and is forwarded to feed consumers it was meant to be kept from.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"misp-guard","fixed":["main at 6786ab7 (no tagged release yet)"],"affected":"<= 1.3 (before commit 6786ab7)","ecosystem":"github"}],"ecosystems":[],"tags":["misp","misp-guard","mitmproxy","package","self-hosted","threat-intelligence"],"not_affected_if":["no-distribution-policy","no-misp-guard","no-required-taxonomy-or-blocked-category-rules"],"how_to_check":"Run 'git -C <misp-guard dir> log --oneline' and look for 6786ab7 / 9868b1d; if absent (v1.3 or older) you are exposed. Test: send a feed event tagged TLP:AMBER with required taxonomy tlp and allowed_tags [tlp:clear], or an attribute of category 'Person' with blocked category 'person'; the guard should block it.","fix":"Update misp-guard to a build containing commit 6786ab7 (PR #27: case-insensitive matching of required taxonomies and attribute categories). No tagged release after v1.3 as of 2026-10-26; run from main at or after 6786ab7 until a new tag ships. Interim: list every case variant (e.g. TLP:AMBER, Person) in blocked_tags and blocked_attribute_categories, and review events already forwarded.","status":"open","published_at":"2026-10-26T11:16:37+00:00","first_seen_at":"2026-10-26T11:29:41+00:00","triaged_at":"2026-10-26T11:31:00+00:00","updated_at":"2026-10-26T11:32:41+00:00","category":"package","confidence":0.75,"triage":{"at":"2026-10-26T11:31:00Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"MISP Guard: case-sensitive policy checks let restricted threat-intel events leak","impact":"medium","summary":"MISP Guard, a proxy filter for MISP threat-intelligence feeds, compares taxonomy tags, attribute categories and sharing-group UUIDs case-sensitively against its allow and block lists. An event with altered letter case, such as 'TLP:AMBER' instead of 'tlp:amber', slips past the policy and is forwarded to feed consumers it was meant to be kept from.","category":"package","nicknames":[],"who_cares":["misp","misp-guard","threat-intelligence","self-hosted"],"confidence":0.6,"needs_auth":"yes","worst_case":"restricted threat-intelligence events are forwarded to unauthorized feed consumers","analyst_note":"Find the affected version range and fixed release in the NVD entry or the MISP Guard repository; the sources give no versions or checks.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":["no-misp-guard","no-distribution-policy"],"who_is_affected":"Teams that run MISP Guard in front of MISP feed distribution with taxonomy, attribute-category or sharing-group block rules configured. Sites that do not use MISP Guard, or that distribute feeds without its policy rules, are not affected by this flaw.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000645,"input_tokens":3861,"output_tokens":517,"severity_before":"high"},"analyst_status":"done","analyst_note":"Find the affected version range and fixed release in the NVD entry or the MISP Guard repository; the sources give no versions or checks.","search":"'-116469':17A,20A '-2026':16A,19A 'abil':171C 'allow':62B,133C,228C,253C,282C,311C 'allow/block':165C 'allowed-tag':252C 'alter':69B,361C 'amber':75B,79B,233C 'analyst':141C 'associ':325C 'attack':168C,357C 'attribut':50B,136C,156C,202C,268C,284C,318C 'authent':373C 'base':101C 'belong':239C 'beyond':374C 'block':64B,135C,140C,267C,278C,317C,321C 'bypass':210C 'carri':308C 'case':4A,58B,71B,115C,148C,197C,364C 'case-sensit':3A,57B,114C,147C 'categori':51B,137C,157C,203C,269C,319C,368C 'check':7A,122C,125C,129C,134C,139C,249C 'clear':227C 'compar':47B 'comparison':151C 'confidenti':342C 'configur':164C,212C,277C,336C 'connect':183C 'consum':89B,264C,331C 'contain':112C 'control':343C 'could':191C 'craft':192C 'creat':173C 'creation':379C 'cve':15A,18A 'data':142C,300C 'design':348C 'differ':195C 'disclosur':295C 'distribut':111C,337C 'downstream':329C 'enforc':121C,350C 'entri':279C 'event':13A,67B,154C,176C,187C,193C,230C,259C,307C,378C 'event-cr':377C 'exampl':216C 'exist':128C 'exploit':355C 'feed':46B,88B,110C,263C,330C 'filter':40B,103C,289C 'flaw':117C 'forward':86B,261C,327C 'function':124C 'group':55B,144C,161C,207C,324C 'guard':2A,23A,27B,37B,97C,190C,346C 'host':32B 'impact':292C 'inform':107C 'instanc':180C,184C 'instead':76B 'intel':12A 'intellig':35B,45B,299C 'intend':304C 'interact':386C 'kept':95B 'leak':14A 'let':8A 'letter':70B,196C,363C 'light':314C 'list':65B,166C,255C 'malwar':106C 'mark':316C 'match':153C,275C 'meant':92B 'misp':1A,22A,24B,26B,36B,42B,96C,105C,179C,345C,376C 'misp-guard':21A,25B 'mitmproxi':28B 'modifi':175C 'multipl':119C 'name':201C 'need':359C,388C 'non':310C 'non-allow':309C 'normal':375C 'oper':303C 'packag':29B 'pass':286C 'past':81B 'perform':146C 'person':272C,281C 'platform':109C 'polici':6A,83B,120C,214C,219C,338C 'privileg':380C 'protocol':315C 'proxi':39B,100C 'proxy-bas':99C 'push':186C 'recogn':237C 'requir':126C,130C,220C,382C 'restrict':9A,306C 'result':256C 'secur':102C,213C,291C 'self':31B 'self-host':30B 'sensit':5A,59B,116C,149C 'share':54B,108C,143C,160C,206C,323C 'sharing-group':53B,159C,205C,322C 'similar':265C 'slip':80B 'string':150C,371C 'tag':49B,132C,155C,200C,231C,254C,367C 'taxonomi':48B,127C,131C,199C,223C,243C 'therefor':246C 'threat':11A,34B,44B,298C 'threat-intel':10A 'threat-intellig':33B,43B,297C 'tlp':74B,78B,222C,226C,232C,242C,312C 'traffic':313C 'trivial':354C 'unauthor':294C 'undermin':340C 'use':194C 'user':385C 'uuid':56B,145C,162C,208C,370C 'violat':333C 'vulner':352C 'would':234C,245C,273C","nicknames":[],"mitigations":[],"who_affected":"Teams that run MISP Guard in front of MISP feed distribution with taxonomy, attribute-category or sharing-group block rules configured. Sites that do not use MISP Guard, or that distribute feeds without its policy rules, are not affected by this flaw.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-26T11:16:37+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/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":"5a6e4751-2f3f-4070-9419-94fb35b644e8","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116469","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116469","severity":null,"published_at":"2026-10-26T11:16:37+00:00","modified_at":"2026-10-26T11:16:37+00:00","first_seen_at":"2026-10-26T11:29:41+00:00","fetched_at":"2026-10-26T11:29:41+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-116469:828","url":null,"severity":null,"published_at":"2026-10-26T11:32:41+00:00","modified_at":"2026-10-26T11:32:41+00:00","first_seen_at":"2026-10-26T11:32:41+00:00","fetched_at":"2026-10-26T11:32:41+00:00","note":"Fix is PR #27 (merge 6786ab7, commit 9868b1d, merged 2026-10-26) on misp-guard main; no release tag after v1.3 (2026-09-01) yet, so fixed version unknown. Not verified: no vendor advisory, only repo PR/releases. Not exploited, no PoC found."}],"documents":[{"id":3801,"url":"https://github.com/MISP/misp-guard/pull/27","title":"misp-guard PR #27: match categories and required taxonomies regardless of case","kind":"issue","source":"analyst","text":null,"published_at":null,"relation":"fix","confidence":null,"note":null},{"id":3802,"url":"https://github.com/MISP/misp-guard/releases","title":"misp-guard releases (latest v1.3, 2026-09-01)","kind":"release","source":"analyst","text":null,"published_at":null,"relation":"mentions","confidence":null,"note":null}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}