{"id":"MAL-2026-18816","kind":"package","aliases":["MAL-2026-18816"],"related":[],"title":"Malicious code in @danzxcode/danzx-bail (npm)","description":"@danzxcode/danzx-bail is a fork of the Baileys WhatsApp Web library that silently subscribes the installer's own WhatsApp account to WhatsApp Channels chosen by the publisher. When the socket connects, code in lib/Socket/socket.js sends the WhatsApp w:mex FOLLOW query for a list downloaded at runtime from https://raw.github.com/skyzopedia/NewsletterID/refs/heads/main/VIP_Push.json (the URL itself stored as character-code arrays), using the victim's authenticated session and without telling them. Same behaviour as the PhantomSub family (MAL-2026-17342).\n\nUpdate 2026-11-06: a second covert path, in 9.0.5, 9.0.6 and 9.0.7. lib/Utils/messages-media.js exports loadBase, which makeNewsletterSocket (lib/Socket/newsletter.js) calls on every socket creation as loadBase(newsletterWMexQuery, QueryIds). 80 seconds later it fetches a channel list from a URL stored as base64 and, 5 seconds apart, calls newsletterWMexQuery(id, QueryIds.FOLLOW) for each entry, swallowing errors and logging nothing. 9.0.5 and 9.0.6: lib/Utils/messages-media.js sha256 b41905238c3feaad4f8eae25b8cd7acea4ae94ec0916e404d9baadc2a49575fd, URL https://ch-danzx.vercel.app/lyyn. 9.0.7: sha256 cc4da072e185d0312ea0fb7ea0d08edbde8645b6a0218759dca8ab011a85ad59, URL https://danzx-bail.vercel.app/lyyn. 9.0.5 has only this path, so it is added to the affected versions. CyberXYZ read every published version statically from the npm registry tarballs on 2026-11-06 (integrity verified); nothing was executed. Amazon Inspector described the same loadBase loop in @rixxcodex/baileys (MAL-2026-16483).","summary":null,"severity":"critical","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"@danzxcode/danzx-bail","fixed":[],"affected":"= 9.0.5; = 9.0.6; = 9.0.7","ecosystem":"npm"}],"ecosystems":["npm"],"tags":["malicious","package"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-27T00:00:00+00:00","first_seen_at":"2026-11-09T23:37:49+00:00","triaged_at":"2026-11-09T23:39:36+00:00","updated_at":"2026-11-09T23:39:36+00:00","category":"package","confidence":null,"triage":null,"analyst_status":null,"analyst_note":null,"search":"'-06':96C,195C '-11':95C,194C '-16483':212C '-17342':92C '-18816':8A,11A '-2026':7A,10A,91C,211C '/lyyn.':160C,167C '/skyzopedia/newsletterid/refs/heads/main/vip_push.json':64C '2026':94C,193C '5':136C '80':121C '9.0.5':102C,151C,168C '9.0.6':103C,153C '9.0.7':105C,161C 'account':33C 'add':176C 'affect':179C 'amazon':201C 'apart':138C 'array':73C 'authent':78C 'b41905238c3feaad4f8eae25b8cd7acea4ae94ec0916e404d9baadc2a49575fd':156C 'bailey':21C 'base64':134C 'behaviour':85C 'call':112C,139C 'cc4da072e185d0312ea0fb7ea0d08edbde8645b6a0218759dca8ab011a85ad59':163C 'ch-danzx.vercel.app':159C 'ch-danzx.vercel.app/lyyn.':158C 'channel':36C,127C 'charact':71C 'character-cod':70C 'chosen':37C 'code':2A,45C,72C 'connect':44C 'covert':99C 'creation':116C 'cyberxyz':181C 'danzx-bail.vercel.app':166C 'danzx-bail.vercel.app/lyyn.':165C 'danzxcode/danzx-bail':4A,12A,15C 'describ':203C 'download':58C 'entri':145C 'error':147C 'everi':114C,183C 'execut':200C 'export':107C 'famili':89C 'fetch':125C 'follow':53C 'fork':18C 'id':141C 'inspector':202C 'instal':29C 'integr':196C 'later':123C 'lib/socket/newsletter.js':111C 'lib/socket/socket.js':47C 'lib/utils/messages-media.js':106C,154C 'librari':24C 'list':57C,128C 'loadbas':108C,118C,206C 'log':149C 'loop':207C 'makenewslettersocket':110C 'mal':6A,9A,90C,210C 'malici':1A,13B 'mex':52C 'newsletterwmexqueri':119C,140C 'noth':150C,198C 'npm':5A,189C 'packag':14B 'path':100C,172C 'phantomsub':88C 'publish':40C,184C 'queri':54C 'queryid':120C 'queryids.follow':142C 'raw.github.com':63C 'raw.github.com/skyzopedia/newsletterid/refs/heads/main/vip_push.json':62C 'read':182C 'registri':190C 'rixxcodex/baileys':209C 'runtim':60C 'second':98C,122C,137C 'send':48C 'session':79C 'sha256':155C,162C 'silent':26C 'socket':43C,115C 'static':186C 'store':68C,132C 'subscrib':27C 'swallow':146C 'tarbal':191C 'tell':82C 'updat':93C 'url':66C,131C,157C,164C 'use':74C 'verifi':197C 'version':180C,185C 'victim':76C 'w':51C 'web':23C 'whatsapp':22C,32C,35C,50C 'without':81C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"fix_status":null,"audience":null,"plain_action":null,"pkeys":["danzxbail"],"ptokens":["bail","danzx","danzxcode"],"labels":["critical","malicious","npm","package"],"campaign_type":null,"search_a":"'-18816':8A,11A '-2026':7A,10A 'code':2A 'danzxcode/danzx-bail':4A,12A 'mal':6A,9A 'malici':1A 'npm':5A","search_b":"'malici':13B 'packag':14B","search_c":"'-06':96C,195C '-11':95C,194C '-16483':212C '-17342':92C '-2026':91C,211C '/lyyn.':160C,167C '/skyzopedia/newsletterid/refs/heads/main/vip_push.json':64C '2026':94C,193C '5':136C '80':121C '9.0.5':102C,151C,168C '9.0.6':103C,153C '9.0.7':105C,161C 'account':33C 'add':176C 'affect':179C 'amazon':201C 'apart':138C 'array':73C 'authent':78C 'b41905238c3feaad4f8eae25b8cd7acea4ae94ec0916e404d9baadc2a49575fd':156C 'bailey':21C 'base64':134C 'behaviour':85C 'call':112C,139C 'cc4da072e185d0312ea0fb7ea0d08edbde8645b6a0218759dca8ab011a85ad59':163C 'ch-danzx.vercel.app':159C 'ch-danzx.vercel.app/lyyn.':158C 'channel':36C,127C 'charact':71C 'character-cod':70C 'chosen':37C 'code':45C,72C 'connect':44C 'covert':99C 'creation':116C 'cyberxyz':181C 'danzx-bail.vercel.app':166C 'danzx-bail.vercel.app/lyyn.':165C 'danzxcode/danzx-bail':15C 'describ':203C 'download':58C 'entri':145C 'error':147C 'everi':114C,183C 'execut':200C 'export':107C 'famili':89C 'fetch':125C 'follow':53C 'fork':18C 'id':141C 'inspector':202C 'instal':29C 'integr':196C 'later':123C 'lib/socket/newsletter.js':111C 'lib/socket/socket.js':47C 'lib/utils/messages-media.js':106C,154C 'librari':24C 'list':57C,128C 'loadbas':108C,118C,206C 'log':149C 'loop':207C 'makenewslettersocket':110C 'mal':90C,210C 'mex':52C 'newsletterwmexqueri':119C,140C 'noth':150C,198C 'npm':189C 'path':100C,172C 'phantomsub':88C 'publish':40C,184C 'queri':54C 'queryid':120C 'queryids.follow':142C 'raw.github.com':63C 'raw.github.com/skyzopedia/newsletterid/refs/heads/main/vip_push.json':62C 'read':182C 'registri':190C 'rixxcodex/baileys':209C 'runtim':60C 'second':98C,122C,137C 'send':48C 'session':79C 'sha256':155C,162C 'silent':26C 'socket':43C,115C 'static':186C 'store':68C,132C 'subscrib':27C 'swallow':146C 'tarbal':191C 'tell':82C 'updat':93C 'url':66C,131C,157C,164C 'use':74C 'verifi':197C 'version':180C,185C 'victim':76C 'w':51C 'web':23C 'whatsapp':22C,32C,35C,50C 'without':81C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-10-27T00:00:00+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"osv-malicious","external_id":"MAL-2026-18816","url":"https://osv.dev/vulnerability/MAL-2026-18816","severity":"critical","published_at":"2026-10-27T00:00:00+00:00","modified_at":"2026-11-09T23:15:17+00:00","first_seen_at":"2026-11-09T23:37:49+00:00","fetched_at":"2026-11-09T23:37:49+00:00","note":null}],"documents":[],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}