{"id":"MAL-2026-18432","kind":"package","aliases":["MAL-2026-18432"],"related":[],"title":"Malicious code in pystr-codec (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (9f8b8630f88afc0b4a1aedeefb4e20adbf3fb9dea06f64747fb0bdf65c0a7bc1)\nPackage embeds a malicious PTH file that on every Python startup executes obfuscated JavaScript code, using a Bun engine. It then exfiltrates credentials to a public Github repository, establishes persistence awaiting remote commands, attempts spreading using discovered credentials as well as periodically checks if discovered credentials are valid. Once they are invalidated, it performs destructive actions on the local machine. It seems to be part of the Miasma-family worm (also known under testmetest).\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-11-pystr-codec\n\n\nReasons (based on the campaign):\n\n\n - obfuscation\n\n\n - abuses-pth\n\n\n - infostealer\n\n\n - worm\n\n\n - backdoor\n\n\n - persistence\n\n\n - exfiltration-credentials\n\n\n - destructive-actions","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"pystr-codec","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-01T00:13:02+00:00","first_seen_at":"2026-11-01T01:47:29+00:00","triaged_at":"2026-11-01T01:49:30+00:00","updated_at":"2026-11-01T01:49:30+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-11':118C '-18432':10A,13A '-2026':9A,12A '2026':117C '9f8b8630f88afc0b4a1aedeefb4e20adbf3fb9dea06f64747fb0bdf65c0a7bc1':30C 'abus':129C 'abuses-pth':128C 'action':86C,140C 'also':102C 'attempt':64C 'await':61C 'backdoor':133C 'base':123C 'bun':48C 'campaign':109C,116C,126C 'categori':106C 'check':73C 'clear':111C 'code':2A,45C 'codec':6A,16A,121C 'command':63C 'credenti':53C,68C,76C,137C 'destruct':85C,139C 'destructive-act':138C 'detail':21C 'discov':67C,75C 'edit':24C 'emb':32C 'engin':49C 'establish':59C 'everi':39C 'execut':42C 'exfiltr':52C,136C 'exfiltration-credenti':135C 'famili':100C 'file':36C 'github':57C 'infosteal':115C,131C 'intent':113C 'invalid':82C 'javascript':44C 'kam193':29C 'known':103C 'like':114C 'line':27C 'local':89C 'machin':90C 'mal':8A,11A 'malici':1A,17B,34C,107C,112C 'miasma':99C 'miasma-famili':98C 'obfusc':43C,127C 'packag':18B,31C 'part':95C 'per':19C 'perform':84C 'period':72C 'persist':60C,134C 'pth':35C,130C 'public':56C 'pypi':7A 'pystr':5A,15A,120C 'pystr-codec':4A,14A,119C 'python':40C 'reason':122C 'remot':62C 'repositori':58C 'seem':92C 'sourc':20C,28C 'spread':65C 'startup':41C 'testmetest':105C 'use':46C,66C 'valid':78C 'well':70C 'worm':101C,132C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":null,"audience":null,"plain_action":null,"first_public_at":"2026-11-01T00:13:02+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-18432","url":"https://osv.dev/vulnerability/MAL-2026-18432","severity":"critical","published_at":"2026-11-01T00:13:02+00:00","modified_at":"2026-11-01T00:45:06+00:00","first_seen_at":"2026-11-01T01:47:29+00:00","fetched_at":"2026-11-01T01:47:29+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"}