{"id":"GHSA-8cqv-vvq2-6p8c","kind":"vulnerability","aliases":["GHSA-8cqv-vvq2-6p8c"],"related":[],"title":"Duplicate Advisory: Mistune: Path Traversal and XSS in Include directive","description":"## Duplicate Advisory\n\nThis advisory has been withdrawn because it is a duplicate of GHSA-h7ww-273w-6cm8. This link is maintained to preserve external references.\n\n## Original Description\nMistune before 3.3.0 contains a path traversal vulnerability in the Include directive that allows attackers to read arbitrary files by supplying ../ sequences in include paths. Attackers can also inject HTML through unescaped error messages and included file contents to perform cross-site scripting even when escape=True is set.","summary":"This advisory is a withdrawn duplicate of GHSA-h7ww-273w-6cm8 and describes a flaw in the Mistune Python Markdown library before 3.3.0. An attacker who can supply Markdown to an affected Mistune Include directive can read arbitrary files via ../ path sequences and inject HTML/XSS even with escape=True.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"mistune","fixed":[],"affected":"< 3.3.0","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["cwe-22","mistune","package","pypi","python"],"not_affected_if":["markdown-from-trusted-sources-only","mistune-3.3.0-or-later","no-include-directive-used"],"how_to_check":"pip show mistune or pip freeze | grep -i mistune to get the installed version; flag anything below 3.3.0 and check whether any Include directive is enabled on user-supplied Markdown.","fix":"Upgrade mistune to 3.3.0 or later; track GHSA-h7ww-273w-6cm8 as the canonical advisory.","status":"withdrawn","published_at":"2026-10-22T21:32:36+00:00","first_seen_at":"2026-10-23T20:59:05+00:00","triaged_at":"2026-10-23T21:00:23+00:00","updated_at":"2026-10-23T21:00:23+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-23T21:00:23Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade mistune to 3.3.0 or later; track GHSA-h7ww-273w-6cm8 as the canonical advisory.","reach":"unknown","impact":"high","summary":"This advisory is a withdrawn duplicate of GHSA-h7ww-273w-6cm8 and describes a flaw in the Mistune Python Markdown library before 3.3.0. An attacker who can supply Markdown to an affected Mistune Include directive can read arbitrary files via ../ path sequences and inject HTML/XSS even with escape=True.","category":"package","who_cares":["python","mistune","pypi"],"confidence":0.6,"needs_auth":"unknown","worst_case":"attacker reads arbitrary server files and injects script into rendered pages","analyst_note":"","how_to_check":"pip show mistune or pip freeze | grep -i mistune to get the installed version; flag anything below 3.3.0 and check whether any Include directive is enabled on user-supplied Markdown.","needs_analyst":false,"not_affected_if":["mistune-3.3.0-or-later","no-include-directive-used","markdown-from-trusted-sources-only"],"user_interaction":"unknown","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000509,"input_tokens":2905,"output_tokens":438,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-22':23B '273w':38B,94C '3.3.0':51B,108C '6cm8':39B,95C '6p8c':15A,20A '8cqv':13A,18A 'advisori':2A,29B,79C,81C 'affect':60B 'allow':119C 'also':133C 'arbitrari':66B,123C 'attack':53B,120C,131C 'contain':109C 'content':143C 'cross':147C 'cross-sit':146C 'cwe':22B 'describ':41B 'descript':105C 'direct':10A,63B,117C 'duplic':1A,33B,78C,89C 'error':138C 'escap':76B,152C 'even':74B,150C 'extern':102C 'file':67B,124C,142C 'flaw':43B 'ghsa':12A,17A,36B,92C 'ghsa-8cqv-vvq2-6p8c':11A,16A 'ghsa-h7ww-273w-6cm8':35B,91C 'h7ww':37B,93C 'html':135C 'html/xss':73B 'includ':9A,62B,116C,129C,141C 'inject':72B,134C 'librari':49B 'link':97C 'maintain':99C 'markdown':48B,57B 'messag':139C 'mistun':3A,24B,46B,61B,106C 'mistune':21A 'origin':104C 'packag':25B 'path':4A,69B,111C,130C 'perform':145C 'preserv':101C 'pypi':26B 'python':27B,47B 'read':65B,122C 'refer':103C 'script':149C 'sequenc':70B,127C 'set':155C 'site':148C 'suppli':56B,126C 'travers':5A,112C 'true':77B,153C 'unescap':137C 'via':68B 'vulner':113C 'vvq2':14A,19A 'withdrawn':32B,84C 'xss':7A","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-22T21:32:36+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-8cqv-vvq2-6p8c","url":"https://github.com/advisories/GHSA-8cqv-vvq2-6p8c","severity":"high","published_at":"2026-10-22T21:32:36+00:00","modified_at":"2026-10-23T20:46:29+00:00","first_seen_at":"2026-10-23T20:59:05+00:00","fetched_at":"2026-10-23T20:59:05+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"}