{"id":"MAL-2026-18771","kind":"package","aliases":["MAL-2026-18771"],"related":[],"title":"Malicious code in extrahtml (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (f004357dd044b3c2c644a1f759dcd47a154a37533635280af0f3b5adb76469a4)\nIn this campaign, remote code is executed via a dependency pretending to be a YAML loader but embedding a special loader executing code from a provided file. During analysis, the code was just a stub.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-11-parseyaml\n\n\nReasons (based on the campaign):\n\n\n - The malicious code is intentionally included in a dependency of the package\n\n\n - Downloads and executes a remote malicious script.","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"extrahtml","fixed":[],"affected":"= 0.1.0; = 0.1.1; = 0.1.2","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-11-08T21:47:19+00:00","first_seen_at":"2026-11-08T23:53:49+00:00","triaged_at":"2026-11-08T23:55:54+00:00","updated_at":"2026-11-08T23:58:08+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-11':74C '-18771':8A,11A '-2026':7A,10A '2026':73C 'analysi':55C 'base':77C 'campaign':29C,65C,72C,80C 'categori':62C 'clear':67C 'code':2A,31C,49C,57C,83C 'depend':36C,89C 'detail':17C 'download':93C 'edit':20C 'embed':44C 'execut':33C,48C,95C 'extrahtml':4A,12A 'f004357dd044b3c2c644a1f759dcd47a154a37533635280af0f3b5adb76469a4':26C 'file':53C 'includ':86C 'infosteal':71C 'intent':69C,85C 'kam193':25C 'like':70C 'line':23C 'loader':42C,47C 'mal':6A,9A 'malici':1A,13B,63C,68C,82C,98C 'packag':14B,92C 'parseyaml':75C 'per':15C 'pretend':37C 'provid':52C 'pypi':5A 'reason':76C 'remot':30C,97C 'script':99C 'sourc':16C,24C 'special':46C 'stub':61C 'via':34C 'yaml':41C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":null,"audience":null,"plain_action":null,"pkeys":["extrahtml"],"ptokens":["extrahtml"],"labels":["critical","malicious","package","pypi"],"campaign_type":null,"search_a":"'-18771':8A,11A '-2026':7A,10A 'code':2A 'extrahtml':4A,12A 'mal':6A,9A 'malici':1A 'pypi':5A","search_b":"'malici':13B 'packag':14B","search_c":"'-11':74C '2026':73C 'analysi':55C 'base':77C 'campaign':29C,65C,72C,80C 'categori':62C 'clear':67C 'code':31C,49C,57C,83C 'depend':36C,89C 'detail':17C 'download':93C 'edit':20C 'embed':44C 'execut':33C,48C,95C 'f004357dd044b3c2c644a1f759dcd47a154a37533635280af0f3b5adb76469a4':26C 'file':53C 'includ':86C 'infosteal':71C 'intent':69C,85C 'kam193':25C 'like':70C 'line':23C 'loader':42C,47C 'malici':63C,68C,82C,98C 'packag':92C 'parseyaml':75C 'per':15C 'pretend':37C 'provid':52C 'reason':76C 'remot':30C,97C 'script':99C 'sourc':16C,24C 'special':46C 'stub':61C 'via':34C 'yaml':41C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-08T21:47:19+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-18771","url":"https://osv.dev/vulnerability/MAL-2026-18771","severity":"critical","published_at":"2026-11-08T21:47:19+00:00","modified_at":"2026-11-08T22:45:03+00:00","first_seen_at":"2026-11-08T23:53:49+00:00","fetched_at":"2026-11-08T23:53:49+00:00","note":null}],"documents":[],"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"}