MAL-2026-15974

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/date-fns-formatter/MAL-2026-15974.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-15974
Aliases
  • GHSA-h258-m2gc-2p4q
Published
2026-09-06T03:03:07Z
Modified
2026-09-08T19:30:04Z
Summary
Malicious code in date-fns-formatter (npm)
Details

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

Source: amazon-inspector (e9839e9520db45a2a739a415767a8258e15afee65cee71fe5ff41777cbd22450)

The package impersonates the popular date-fns library. Its main module, date-fns-formatter.js, contains a small formatDate shim as a decoy in front of a heavily obfuscated IIFE (obfuscator.io-style rotated string array with a runtime decoder) that runs whenever the module is required. The IIFE creates a hidden directory under os.homedir(), writes a package.json declaring axios, better-sqlite3, node-machine-id, and socket.io-client (plus ffi-napi on Windows), invokes npm install (via npm.cmd through cmd.exe on Windows) to fetch those dependencies, decodes and writes a second obfuscated script (main.js) reassembled from a ~200-piece string array containing base64-encoded https:// URL fragments, and spawns node main.js. On Windows a.vbs wrapper is written that uses WScript.Shell.Run(..., 0, False) to launch the second stage hidden and detached. The provisioned second stage (socket.io-client + node-machine-id + ffi-napi) is a persistent WebSocket remote-agent keyed by a stable host fingerprint, enabling remote command execution on the installer's host. The manifest also self-references date-fns-formatter as its own dependency, and the README example is nonsensical, consistent with a cover-story typosquat rather than a broken legitimate package.

Source: ghsa-malware (4697d7421598f74c2fab37872abece4c92699f612f6b4e54c7eb6c5a1b51d7c1)

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.

Database specific
{
    "malicious-packages-origins":  [
        {
            "id":  "GHSA-h258-m2gc-2p4q",
            "import_time":  "2026-09-07T01:51:49.995697Z",
            "modified_time":  "2026-09-06T03:03:08Z",
            "ranges":  [
                {
                    "events":  [
                        {
                            "introduced":  "0"
                        }
                    ],
                    "type":  "SEMVER"
                }
            ],
            "sha256":  "4697d7421598f74c2fab37872abece4c92699f612f6b4e54c7eb6c5a1b51d7c1",
            "source":  "ghsa-malware"
        },
        {
            "id":  "IN-MAL-2026-019685",
            "import_time":  "2026-09-08T19:15:04.278427907Z",
            "modified_time":  "2026-09-08T19:09:03Z",
            "sha256":  "30a385c281b715de9ad8540342bfb6b592dc7688d3dc8e8bef5eea52c013ad51",
            "source":  "amazon-inspector",
            "versions":  [
                "1.3.8"
            ]
        },
        {
            "id":  "IN-MAL-2026-019681",
            "import_time":  "2026-09-08T19:15:04.170229787Z",
            "modified_time":  "2026-09-08T19:08:26Z",
            "sha256":  "548457e90ad2b7512c9bff16ed57e12035536d071c129a715fb086eef02f7074",
            "source":  "amazon-inspector",
            "versions":  [
                "1.3.10"
            ]
        },
        {
            "id":  "IN-MAL-2026-019683",
            "import_time":  "2026-09-08T19:15:04.223915873Z",
            "modified_time":  "2026-09-08T19:08:43Z",
            "sha256":  "c699acf542e5445bdd7b31dd2927d59cf860e51da465fbb9479f14768f0f03f5",
            "source":  "amazon-inspector",
            "versions":  [
                "1.4.9"
            ]
        },
        {
            "id":  "IN-MAL-2026-019682",
            "import_time":  "2026-09-08T19:15:04.19604903Z",
            "modified_time":  "2026-09-08T19:08:35Z",
            "sha256":  "e9839e9520db45a2a739a415767a8258e15afee65cee71fe5ff41777cbd22450",
            "source":  "amazon-inspector",
            "versions":  [
                "1.3.9"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / date-fns-formatter

Package

Name
date-fns-formatter
View open source insights on deps.dev
Purl
pkg:npm/date-fns-formatter

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected

Affected versions

1.*
1.3.8
1.3.9
1.3.10
1.4.9

Database specific

cwes
[
    {
        "cweId":  "CWE-506",
        "description":  "The product contains code that appears to be malicious in nature.",
        "name":  "Embedded Malicious Code"
    },
    {
        "cweId":  "CWE-506",
        "description":  "The product contains code that appears to be malicious in nature.",
        "name":  "Embedded Malicious Code"
    },
    {
        "cweId":  "CWE-506",
        "description":  "The product contains code that appears to be malicious in nature.",
        "name":  "Embedded Malicious Code"
    },
    {
        "cweId":  "CWE-506",
        "description":  "The product contains code that appears to be malicious in nature.",
        "name":  "Embedded Malicious Code"
    },
    {
        "cweId":  "CWE-506",
        "description":  "The product contains code that appears to be malicious in nature.",
        "name":  "Embedded Malicious Code"
    }
]
indicators
{
    "evidence_files":  [
        {
            "path":  "date-fns-formatter.js",
            "sha256":  "9bf2b2c9758f58aae218e03236ce1191815bd081cb23c878106c421c97dd9ca0",
            "tlsh":  "2e62938c6e15f3886305607f6a1a96c5f86589813ccf81a4f2c65894f91af74e1bef0b"
        },
        {
            "path":  "package.json",
            "sha256":  "6e4208f1278d278fc35d09199b05d1739d9d19c373766670c377c79a6f0e46e0",
            "tlsh":  "65014728c8205d6344da58edacf80543ff1069031d14bc0e779f535c4b0d97b94bd69e"
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/date-fns-formatter/MAL-2026-15974.json"