{"id":"MAL-2026-18218","kind":"package","aliases":["MAL-2026-18218"],"related":[],"title":"Malicious code in qowa (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (650ce7eeda9c50d942912db7495f8108fcc3b8447ff9bae79a1bd1b105c1b0d5)\nsrc/qowa/__init__.py contains calls to socket.gethostname() at lines 30, 52, and 247 together with hardcoded Telegram Bot API endpoints (api.telegram.org/bot<token>/...) at lines 117 and 135. The code reads installer host identity and transmits it to an attacker-controlled Telegram bot channel, a known pattern for host-reconnaissance exfiltration using Telegram as a C2/collector. The embedded bot token encodes the destination chat under the operator's control, so installing or importing this package leaks the installer's hostname (and any other collected context) off-host to a third party. The package has no documented purpose that would legitimize Telegram-bot delivery of hostname data.\n\n## Source: kam193 (67fe6a2b86c60720a8e3cc1002c183bd751ec1896d3be13a44b5ce7d1623afbd)\nThe package provides a C2 server and agent with pre-filed credentials, disguised as a generic utility.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-qowa\n\n\nReasons (based on the campaign):\n\n\n - rat\n\n\n - spyware-like\n\n\n - target:android\n\n\n - The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.\n\n\n - uses-telegram-bot\n\n\n - files-exfiltration","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"qowa","fixed":[],"affected":"= 0.1.0","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-23T08:21:14+00:00","first_seen_at":"2026-10-26T20:52:03+00:00","triaged_at":"2026-10-26T20:55:45+00:00","updated_at":"2026-10-26T21:05:48+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-10':170C '-18218':8A,11A '-2026':7A,10A '/bot':49C '117':52C '135':54C '2026':169C '247':39C '30':36C '52':37C '650ce7eeda9c50d942912db7495f8108fcc3b8447ff9bae79a1bd1b105c1b0d5':28C '67fe6a2b86c60720a8e3cc1002c183bd751ec1896d3be13a44b5ce7d1623afbd':139C 'agent':147C 'amazon':26C 'amazon-inspector':25C 'android':182C 'api':45C 'api.telegram.org':48C 'api.telegram.org/bot':47C 'attack':67C 'attacker-control':66C 'base':173C 'bot':44C,70C,87C,132C,205C 'c2':144C 'c2/collector':84C 'call':31C 'campaign':161C,168C,176C 'categori':158C 'channel':71C 'chat':92C 'clear':163C 'code':2A,56C,186C 'collect':112C 'command':190C 'contain':30C,185C 'context':113C 'control':68C,97C 'credenti':152C 'data':136C 'deliveri':133C 'destin':91C 'detail':17C 'disguis':153C 'document':125C 'edit':20C 'embed':86C 'encod':89C 'endpoint':46C 'execut':188C 'exfiltr':79C,208C 'file':151C,207C 'files-exfiltr':206C 'generic':156C 'hardcod':42C 'host':59C,77C,116C 'host-reconnaiss':76C 'hostnam':108C,135C 'ident':60C 'import':101C 'infosteal':167C 'inspector':27C 'instal':58C,99C,106C 'intent':165C 'kam193':138C 'known':73C 'leak':104C 'legitim':129C 'like':166C,180C 'limit':192C 'line':23C,35C,51C 'machin':201C 'mal':6A,9A 'malici':1A,13B,159C,164C 'off-host':114C 'oper':95C 'packag':14B,103C,122C,141C,184C 'parti':120C 'pattern':74C 'per':15C 'pre':150C 'pre-fil':149C 'probabl':191C 'provid':142C 'purpos':126C 'pypi':5A 'qowa':4A,12A,171C 'rat':177C 'read':57C 'reason':172C 'reconnaiss':78C 'remot':189C 'server':145C 'set':196C 'socket.gethostname':33C 'sourc':16C,24C,137C 'specif':195C 'spywar':179C 'spyware-lik':178C 'src/qowa/__init__.py':29C 'target':181C 'telegram':43C,69C,81C,131C,204C 'telegram-bot':130C 'third':119C 'togeth':40C 'token':88C 'transmit':62C 'use':80C,203C 'uses-telegram-bot':202C 'util':157C 'victim':199C 'would':128C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T08:21:14+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-18218","url":"https://osv.dev/vulnerability/MAL-2026-18218","severity":"critical","published_at":"2026-10-23T08:21:14+00:00","modified_at":"2026-10-26T06:45:16+00:00","first_seen_at":"2026-10-26T20:52:03+00:00","fetched_at":"2026-10-26T20:52:03+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"}