{"id":"MAL-2026-17457","kind":"package","aliases":["MAL-2026-17457"],"related":[],"title":"Malicious code in voxeval (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (4b542a4c53b4c08e104eebfade64c8e91c8d731c4a9bd298e48a258117c5b1bb)\nThe package advertises itself as a TTS evaluation harness but ships two large bundled binaries and executes them on the installer's host. voxeval/bin/voxtts-core is an ~8MB ELF launched with an XMRig-shaped configuration (pools, donate-level, print-time, huge-pages, cpu.threads, user=run_id, pass=\"vox\") pointing at a hardcoded Monero pool at 185.194.177.249:443. The pool host is split into two base64 chunks (`MTg1LjE5NA==`, `MTc3LjI0OQ==`) and reassembled at runtime, and configuration keys are string-concatenated (`\"po\"+\"ools\"`, `\"--\"+\"config=\"`) to defeat literal keyword scans. A second bundled binary, a ~40MB `cloudflared`, is invoked as `cloudflared access tcp --hostname <edge> --url 127.0.0.1:<port> --no-autoupdate` to proxy the miner's egress through Cloudflare's edge and evade DNS/IP-based blocking of the pool. A `_Progress` helper fabricates fake training-progress lines (`step N/250000 loss=... tok/s=...`) so the miner's output resembles ML training in notebook logs. The dropper chmods the core binary to 0o755 and spawns it via Popen. Installing or invoking voxeval causes sustained CPU consumption on the installer's host for the benefit of the attacker's mining wallet, with egress deliberately obscured.\n\n## Source: kam193 (4ffc5162b3b77de40988aa702c4493260a4f0b4f09d5f4719feabcd69f33908a)\nThe package imitates real activity and instead deploys a coin miner.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-voxeval\n\n\nReasons (based on the campaign):\n\n\n - cryptominer","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"voxeval","fixed":[],"affected":"= 0.4.2; = 0.4.3; = 0.4.4; = 0.4.5","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-02T21:28:42+00:00","first_seen_at":"2026-10-26T20:51:58+00:00","triaged_at":"2026-10-26T21:08:21+00:00","updated_at":"2026-10-26T21:08:21+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-10':244C '-17457':8A,11A '-2026':7A,10A '0o755':186C '127.0.0.1':134C '185.194.177.249':87C '2026':243C '40mb':124C '443':88C '4b542a4c53b4c08e104eebfade64c8e91c8d731c4a9bd298e48a258117c5b1bb':28C '4ffc5162b3b77de40988aa702c4493260a4f0b4f09d5f4719feabcd69f33908a':220C '8mb':55C 'access':130C 'activ':225C 'advertis':31C 'amazon':26C 'amazon-inspector':25C 'attack':210C 'autoupd':137C 'base':247C 'base64':96C 'benefit':207C 'binari':43C,122C,184C 'block':151C 'bundl':42C,121C 'campaign':235C,242C,250C 'categori':232C 'caus':196C 'chmod':181C 'chunk':97C 'clear':237C 'cloudflar':125C,129C,145C 'code':2A 'coin':230C 'concaten':110C 'config':113C 'configur':63C,105C 'consumpt':199C 'core':183C 'cpu':198C 'cpu.threads':74C 'cryptomin':251C 'defeat':115C 'deliber':216C 'deploy':228C 'detail':17C 'dns/ip-based':150C 'donat':66C 'donate-level':65C 'dropper':180C 'edg':147C 'edit':20C 'egress':143C,215C 'elf':56C 'evad':149C 'evalu':36C 'execut':45C 'fabric':158C 'fake':159C 'har':37C 'hardcod':83C 'helper':157C 'host':51C,91C,204C 'hostnam':132C 'huge':72C 'huge-pag':71C 'id':77C 'imit':223C 'infosteal':241C 'inspector':27C 'instal':49C,192C,202C 'instead':227C 'intent':239C 'invok':127C,194C 'kam193':219C 'key':106C 'keyword':117C 'larg':41C 'launch':57C 'level':67C 'like':240C 'line':23C,163C 'liter':116C 'log':178C 'loss':166C 'mal':6A,9A 'malici':1A,13B,233C,238C 'mine':212C 'miner':141C,170C,231C 'ml':174C 'monero':84C 'mtc3lji0oq':99C 'mtg1lje5na':98C 'n/250000':165C 'no-autoupd':135C 'notebook':177C 'obscur':217C 'ool':112C 'output':172C 'packag':14B,30C,222C 'page':73C 'pass':78C 'per':15C 'po':111C 'point':80C 'pool':64C,85C,90C,154C 'popen':191C 'print':69C 'print-tim':68C 'progress':156C,162C 'proxi':139C 'pypi':5A 'real':224C 'reason':246C 'reassembl':101C 'resembl':173C 'run':76C 'runtim':103C 'scan':118C 'second':120C 'shape':62C 'ship':39C 'sourc':16C,24C,218C 'spawn':188C 'split':93C 'step':164C 'string':109C 'string-concaten':108C 'sustain':197C 'tcp':131C 'time':70C 'tok/s':167C 'train':161C,175C 'training-progress':160C 'tts':35C 'two':40C,95C 'url':133C 'user':75C 'via':190C 'vox':79C 'voxev':4A,195C,245C 'voxeval':12A 'voxeval/bin/voxtts-core':52C 'wallet':213C 'xmrig':61C 'xmrig-shap':60C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-02T21:28:42+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-17457","url":"https://osv.dev/vulnerability/MAL-2026-17457","severity":"critical","published_at":"2026-10-02T21:28:42+00:00","modified_at":"2026-10-04T23:45:21+00:00","first_seen_at":"2026-10-26T20:51:58+00:00","fetched_at":"2026-10-26T20:51:58+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"}