Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

mfafixnpm

Advisory published Updated

mfafix is a confirmed malicious npm package (MAL-2026-15630) that typosquats a legitimate package to trick installs (malicious versions 1.0.0, 1.1.0, 1.1.1). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in mfafix (npm)

MAL-2026-15630
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall mfafix

What this malware does

lib/cache.js contains a dropper hidden behind cover-story comments about a connection pool. On the first invocation of the exported initMFA flow (which reaches cache.get() via _mfaStore.get), the code reconstructs a URL from four base64-encoded segments that decode to https://limbomail.com/api/attachment/..., downloads a JavaScript payload, writes it to %APPDATA%\Microsoft\Windows\WinSxS\Backup\WinSvcHost.js, and launches it under the host Node.js executable via child_process.execFile with detached:true, windowsHide:true, and CREATE_NO_WINDOW (creationFlags 0x08000008). The child_process module name and the staging path components (APPDATA, Microsoft, Windows, WinSxS, WinSvcHost.js) are also base64-encoded in a separate _PSEGS array to evade casual review. The destination host limbomail.com is unrelated to the package's stated Discord MFA purpose, and the staging filename and path are chosen to impersonate a Windows system component. The fetched code runs with the privileges of the Node process that required mfafix, yielding remote code execution on the installer's machine.

Malicious versions

3 flagged
1.0.01.1.01.1.1

Indicators of compromise (SHA-256)

4f10490485dfd11cdb9eeb6e29b104c0d70651d1d8853a339a7420a75d09d066
e7e4bbaa40c053e27518123a9eb7ac4239ff0f0891dd6e8e9ea85a2dff18cc23
c9ba9c39ac3a0ac08dd16c94600324d170c8d52fbf71651064cd5714e7c4eb7d

Detection & response playbook

Typosquat
  1. Find it

    Search your lockfiles and build artifacts for mfafix (3 malicious versions).

  2. If you installed it — respond

    mfafix is a typosquat — you almost certainly intended a legitimately-named package. Remove mfafix, install the correct package, and rotate any secrets exposed during the install since post-install scripts may have already run.

  3. Did it already run?

    If mfafix was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. mfafix on npm has been identified as a malicious package (versions 1.0.0, 1.1.0, 1.1.1 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-019300IN-MAL-2026-019310IN-MAL-2026-019896

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks mfafix-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore

mfafix (npm) malicious package — MAL-2026-15630 | O3 Security