{"id":"MAL-2026-15605","summary":"Malicious code in m2fcsfyjkuxb (npm)","details":"Published as part of a ClickFix-style fake-CAPTCHA phishing campaign documented by OX Security (see reference). The package's only file is index.html, declared as the npm \"main\" entry; package.json defines no preinstall/install/postinstall/prepare lifecycle script, so the payload does not execute at `npm install` time. index.html renders a fake Cloudflare Turnstile verification widget. An obfuscator.io-obfuscated inline script builds a hardcoded redirect URL to https://login.microsofte.live/ (a typosquat of a Microsoft sign-in domain), appends the visitor's original query-string parameters, and navigates the browser there via window.location.replace(). The package therefore does not attack the installing machine directly; it is used as a static file host on the npm CDN (e.g. unpkg/jsDelivr) so the index.html can be linked to and opened directly in a victim's browser as a phishing/ClickFix landing page. Published by npm user \"johnvaldez9a\" as part of a burst of near-identical single-purpose packages published between 2026-08-04 and 2026-08-24 that share this same fake-Turnstile-redirect page structure.\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (25b5eb444b26c42c357352ff4bdc8f6e1020eefa1ae50ac18872aabb5a67b75e)\nThe package was found to contain malicious code or consuming dependency that contains malicious code\n","modified":"2026-08-31T18:31:22.677765697Z","published":"2026-08-26T14:55:09Z","database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-019279","import_time":"2026-08-31T18:22:28.094283248Z","modified_time":"2026-08-31T17:58:39Z","sha256":"25b5eb444b26c42c357352ff4bdc8f6e1020eefa1ae50ac18872aabb5a67b75e","source":"amazon-inspector","versions":["1.0.0"]}]},"references":[{"type":"WEB","url":"https://www.ox.security/blog/research-clickfix-phishing-npm-packages/"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/m2fcsfyjkuxb/v/1.0.0"}],"affected":[{"package":{"name":"m2fcsfyjkuxb","ecosystem":"npm","purl":"pkg:npm/m2fcsfyjkuxb"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["1.0.0"],"database_specific":{"indicators":{"evidence_files":[{"tlsh":"aed2b94233c138911107abb63b1bb3d5ea257c5fb6884c8bf64d7e44af96a04d6d0b34","path":"index.html","sha256":"4ecf6e0cf2de202dd42e09c1fb721bc9d732c47ef395335598ff90d774136a0a"}],"package_integrity":[{"filename":"m2fcsfyjkuxb-1.0.0.tgz","hashes":{"sha512_sri":"sha512-i+Jbiqv8QfNhZ+becqbr4342YAxJGgcCoR2LUVV6iEjviseQgKiVzLQB9mqj4JTXvBvCabngV1O2umSQz75gXQ==","sha1":"efafbc4d1c7ae7050cc5a53e735f9a50f12304ab"}}]},"iocs":{"domains":["login.microsofte.live"],"files":[{"source":"PACKAGE_ARCHIVE","digests":{"sha256":"4ecf6e0cf2de202dd42e09c1fb721bc9d732c47ef395335598ff90d774136a0a"},"note":"Fake Cloudflare Turnstile page bundled as the package's main entry (from v1.0.0, the latest published version)","paths":["index.html"]}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/m2fcsfyjkuxb/MAL-2026-15605.json","cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}]}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"OX Security","contact":["https://www.ox.security/"],"type":"FINDER"}]}