{"id":"MAL-2026-17756","kind":"package","aliases":["MAL-2026-17756"],"related":[],"title":"Malicious code in pafer (PyPI)","description":"---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (a74b7c5b356a87fe0262954cbedbcc432497ab25edaccbade0ce9ce04b16a8c9)\nIn this campaign, the main package (webreader) has an embeded pickle disguised as a config. A related dependency (pafer) contains code to load the pickle. During unpickling, malicious code embeded in the pickle file is automatically executed. It then establishes persistence via a PTH file and downloads the next stage payload. It finally acts like a RAT, allowing remote exfiltration and code execution.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-webreader\n\n\nReasons (based on the campaign):\n\n\n - rat\n\n\n - Downloads and executes a remote malicious script.\n\n\n - obfuscation\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 - abuses-pth\n\n\n - persistence\n\n\n - The malicious code is intentionally included in a dependency of the package\n\n\n - files-exfiltration","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"pafer","fixed":[],"affected":"= 0.9.7; = 0.9.8","ecosystem":"pypi"}],"ecosystems":["pypi"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-10T11:11:35+00:00","first_seen_at":"2026-10-26T20:52:00+00:00","triaged_at":"2026-10-26T21:06:18+00:00","updated_at":"2026-10-26T21:06:18+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-10':102C '-17756':8A,11A '-2026':7A,10A '2026':101C 'a74b7c5b356a87fe0262954cbedbcc432497ab25edaccbade0ce9ce04b16a8c9':26C 'abus':138C 'abuses-pth':137C 'act':80C 'allow':84C 'automat':62C 'base':105C 'campaign':29C,93C,100C,108C 'categori':90C 'clear':95C 'code':2A,47C,55C,88C,121C,143C 'command':125C 'config':41C 'contain':46C,120C 'depend':44C,149C 'detail':17C 'disguis':38C 'download':73C,110C 'edit':20C 'embed':36C,56C 'establish':66C 'execut':63C,89C,112C,123C 'exfiltr':86C,155C 'file':60C,71C,154C 'files-exfiltr':153C 'final':79C 'includ':146C 'infosteal':99C 'intent':97C,145C 'kam193':25C 'like':81C,98C 'limit':127C 'line':23C 'load':49C 'machin':136C 'main':31C 'mal':6A,9A 'malici':1A,13B,54C,91C,96C,115C,142C 'next':75C 'obfusc':117C 'packag':14B,32C,119C,152C 'pafer':4A,12A,45C 'payload':77C 'per':15C 'persist':67C,140C 'pickl':37C,51C,59C 'probabl':126C 'pth':70C,139C 'pypi':5A 'rat':83C,109C 'reason':104C 'relat':43C 'remot':85C,114C,124C 'script':116C 'set':131C 'sourc':16C,24C 'specif':130C 'stage':76C 'unpickl':53C 'via':68C 'victim':134C 'webread':33C,103C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-10T11:11:35+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-17756","url":"https://osv.dev/vulnerability/MAL-2026-17756","severity":"critical","published_at":"2026-10-10T11:11:35+00:00","modified_at":"2026-10-20T14:30:03+00:00","first_seen_at":"2026-10-26T20:52:00+00:00","fetched_at":"2026-10-26T20:52:00+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"}