{"id":"CVE-2026-115352","kind":"vulnerability","aliases":["CVE-2026-115352"],"related":[],"title":"Mistune: inline link parser lets small markdown inputs burn CPU","description":"Mistune before 3.3.0 contains an algorithmic complexity vulnerability in the inline link parser that allows unauthenticated attackers to exhaust CPU by submitting long runs of unmatched '[' characters. Attackers can send small markdown payloads that trigger O(N^2) parse_link_text and parse_link_label probing, occupying rendering workers for 30+ seconds per 16 KB input.","summary":"Mistune versions before 3.3.0 have a quadratic-time inline link parser. An unauthenticated attacker can send a short markdown payload of many unmatched '[' characters and tie up rendering workers for 30+ seconds per 16 KB input.","severity":"high","cvss":8.7,"epss":0.00359,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["markdown-rendering","mistune","package","python","web-apps"],"not_affected_if":["mistune-3.3.0-or-later","no-user-supplied-markdown"],"how_to_check":"Check the installed mistune version, for example with pip show mistune or by reading the lockfile; anything below 3.3.0 is affected.","fix":"Upgrade mistune to 3.3.0 or later.\nIf upgrading is not possible, limit input size before rendering markdown.","status":"open","published_at":"2026-10-22T19:17:41+00:00","first_seen_at":"2026-10-23T21:57:31+00:00","triaged_at":"2026-10-23T22:35:11+00:00","updated_at":"2026-10-24T07:15:51+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-23T22:35:11Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade mistune to 3.3.0 or later.\nIf upgrading is not possible, limit input size before rendering markdown.","reach":"internet","title":"Mistune: inline link parser lets small markdown inputs burn CPU","impact":"low","summary":"Mistune versions before 3.3.0 have a quadratic-time inline link parser. An unauthenticated attacker can send a short markdown payload of many unmatched '[' characters and tie up rendering workers for 30+ seconds per 16 KB input.","category":"package","who_cares":["python","mistune","markdown-rendering","web-apps"],"confidence":0.7,"needs_auth":"no","worst_case":"Rendering workers are stalled, causing denial of service on the endpoint.","analyst_note":"","how_to_check":"Check the installed mistune version, for example with pip show mistune or by reading the lockfile; anything below 3.3.0 is affected.","needs_analyst":false,"not_affected_if":["mistune-3.3.0-or-later","no-user-supplied-markdown"],"user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000495,"input_tokens":2948,"output_tokens":400,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-115352':13A,16A '-2026':12A,15A '16':60B,116C '2':100C '3.3.0':29B,65C '30':57B,113C 'algorithm':68C 'allow':77C 'app':25B 'attack':40B,79C,90C 'burn':9A 'charact':50B,89C 'complex':69C 'contain':66C 'cpu':10A,82C 'cve':11A,14A 'exhaust':81C 'inlin':2A,35B,73C 'input':8A,62B,118C 'kb':61B,117C 'label':107C 'let':5A 'link':3A,36B,74C,102C,106C 'long':85C 'mani':48B 'markdown':7A,18B,45B,94C 'markdown-rend':17B 'mistun':1A,20B,26B,63C 'n':99C 'o':98C 'occupi':109C 'packag':21B 'pars':101C,105C 'parser':4A,37B,75C 'payload':46B,95C 'per':59B,115C 'probe':108C 'python':22B 'quadrat':33B 'quadratic-tim':32B 'render':19B,54B,110C 'run':86C 'second':58B,114C 'send':42B,92C 'short':44B 'small':6A,93C 'submit':84C 'text':103C 'tie':52B 'time':34B 'trigger':97C 'unauthent':39B,78C 'unmatch':49B,88C 'version':27B 'vulner':70C 'web':24B 'web-app':23B 'worker':55B,111C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-22T19:17:41+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/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-115352","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115352","severity":null,"published_at":"2026-10-22T19:17:41+00:00","modified_at":"2026-10-23T21:17:22+00:00","first_seen_at":"2026-10-23T21:57:31+00:00","fetched_at":"2026-10-23T22:29:02+00:00","note":null},{"source":"epss","external_id":"CVE-2026-115352","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-115352","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T07:15:51+00:00","fetched_at":"2026-10-25T12:38:51+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"}