Skip to content
OpenAdvisories
Malicious MAL-2026-17865 GHSA-pqwv-7rr5-v32f

passwordcrackv2

npm package · versions 1.1.1, 1.1.0

Reported Oct 9, 2026 · Updated Nov 3, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

passwordcrackv2 poses as a dependency-free Discord MFA library but pulls node-net-pool from the attacker's GitHub repo lunexindonesia/node-net-pool, and on load lib/cache.js runs `try{module['require']('node-net-pool')}catch(_){}` to execute it. On Windows, that index.js downloads a script from a limbomail.com attachment URL, saves it as a hidden winsvc.js under %APPDATA%, %LOCALAPPDATA% or %TEMP%, runs it via a hidden WinSvcHost.vbs, persists through HKCU Run/RunOnce, UserInitMprLogonScript and a Startup shortcut, and re-checks for updates every two hours. Amazon Inspector reported the same loader stub in discord-mfa-solver (MAL-2026-16100). The npm account kingsize published passwordcrackv2 and passwordcracker with identical code on 2026-10-09 and 2026-10-10.

---
_-= Per source details. Do not edit below this line.=-_

Source: amazon-inspector (5af882b3d847b17692c91b05e8efb4bf9947a0ec3b1ea5e04bb8681fc73f135c)
package.json declares its only dependency, 'node-net-pool', as an HTTPS tarball of the 'main' branch of github.com/lunexindonesia/node-net-pool, with no version pin and no integrity hash. npm install fetches whatever bytes that URL returns and runs any lifecycle scripts inside, so whoever controls that repository controls code delivered to every installer. The publisher of this package (mfasolver) does not match the dependency owner (lunexindonesia), so an unrelated third party controls the fetched content. lib/cache.js further wraps the dependency load as try{module['require']('node-net-pool')}catch(_){}, so the remote dependency is pulled in on normal library use via initMFA/cache.get() and any failure is silently swallowed. The package itself is advertised as Discord MFA/token-abuse tooling (PATCH /api/v9/guilds/0/vanity-url, POST /api/v9/mfa/finish, Cloudflare-bypass host rotation, TLS verification disabled via rejectUnauthorized:false); that capability targets operator-chosen Discord accounts rather than the installer directly, but the mutable-branch dependency is a direct install-time and import-time code-execution path against the installer regardless of how the stated API is used.

Source: ghsa-malware (5cd012a505c3647326e34a800cbc89508cd105c6a1444d7448194a0bf5044883)
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Indicators of compromise

Shown defanged and not clickable. Search any indicator to find other packages using it.

URLs

  • hxxps://limbomail[.]com/api/attachment/l4TIRPOsaUxR[.]_603-vhKDRdgKl3RalN_TVUZYGPsJy2Y/all[.]js other packages →
  • hxxps://github[.]com/lunexindonesia/node-net-pool/archive/refs/heads/main[.]tar[.]gz other packages →
  • hxxps://github[.]com/lunexindonesia/node-net-pool other packages →
  • hxxps://github[.]com/trktgq0wbre1/node-net-pool/archive/refs/heads/main[.]tar[.]gz other packages →
  • hxxps://github[.]com/trktgq0wbre1/node-net-pool other packages →