{"id":"MAL-2026-17470","title":"Malicious code in voxcpmruntime (PyPI)","summary":"Malicious code in voxcpmruntime (PyPI)","severity":"critical","exploited":true,"vendor":"voxcpmruntime","product":"voxcpmruntime","ecosystem":"pip","affected":["voxcpmruntime"],"published":"2026-10-03","updated":"2026-10-05","sourceUpdated":"2026-10-05T04:15:04.436233072Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/MAL-2026-17470","references":[{"url":"https://bad-packages.kam193.eu/pypi/package/voxcpmruntime"},{"url":"https://pypi.org/project/voxcpmruntime/0.1.0/"}],"tags":["osv","pip","malware"],"ingestedAt":"2026-10-04T07:27:31.034Z","slug":"MAL-2026-17470","body":"## Overview\n\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (ef6e0220a1b37d6391262539694a04726e2e5aea888941b384c4048d0a2443b2)\nThe package presents itself as a VoxCPM TTS runtime but is a binary dropper and cryptominer loader. harness.run() downloads two executables ('voxcpm-core' and 'cloudflared') from a caller-supplied edge host at https://<edge>/files/<name>, writes them under /tmp/.voxcpm-runtime/, chmods them 0o755, and spawns them. The bytes are opaque, publisher-unpinned, and verified only against SHA-256 values hardcoded in the wheel, so any host that serves the author's precomputed hashes is accepted. 'cloudflared' is launched as `access tcp --hostname <edge> --url 127.0.0.1:<port>` to tunnel a local TCP port through Cloudflare and conceal the real control-plane host. The JSON configuration written to voxcpm-run.json and passed to 'voxcpm-core' as `--config=<path>` is a stratum mining-pool document (pools[{url,user,pass,keepalive,tls}], cpu.{threads,mem-locked}); the keys 'pools' and '--config=' are assembled by string concatenation ('po'+'ols', '--'+'config='+cfg_path) to evade miner-config string matching, and a _Progress class prints fabricated training-loss and tokens-per-second lines to disguise the resulting CPU load as ML inference. harness._hb() additionally POSTs run_id, state, truncated Python tracebacks and timestamps to https://<edge>/hb as a heartbeat channel, later routed through the Cloudflare tunnel. The name voxcpmruntime closely resembles the legitimate VoxCPM project from OpenBMB.\n\n## Source: kam193 (12f18950a276ca27a304d3053835b0102656168083e7ddf414fffb112cbe01ba)\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\n\n\n## Affected packages\n\n- `voxcpmruntime`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"abyssal","depthScore":70,"depthScoreParts":{"impact":52.3,"likelihood":0,"exploitation":18,"ransomware":0},"changes":[]}