MAL-2026-12027

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/tailwind-anime/MAL-2026-12027.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-12027
Aliases
  • GHSA-58f3-m5c8-hcrv
Published
2026-08-04T16:40:49Z
Modified
2026-08-05T10:06:30Z
Summary
Malicious code in tailwind-anime (npm)
Details

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

Source: amazon-inspector (fd7605f83f25074e67fa0c72679d47f50fe781dae40e4560ee0a216e91320014)

tailwind-anime@1.1.0 is a typosquat of tailwindcss-animate. Its index.js appends an eval(atob('...')) blob that runs whenever the plugin is required (e.g., when Tailwind loads the plugin during a build). The decoded payload queries multiple Ethereum RPC endpoints (eth.blockscout.com, 1rpc.io/eth, eth.drpc.org, ethereum-rpc.publicnode.com, eth-mainnet.public.blastapi.io) for transactions of address 0xa322E5f3D311D3080e6f0121063e9aDC2490Ef1a, reconstructs an IPv4 C2 address from bytes of a transaction's to field, fetches a follow-on payload over HTTP whose body is XOR-decoded from an x-payload-b64 response header, evals it, and then spawns a detached hidden node -e child process ({detached:true, stdio:'ignore', windowsHide:true}). All sensitive strings (require names 'http'/'https'/'child_process', the ETH address, RPC hosts, JSON-RPC method names 'eth_getBlockByNumber'/'eth_getTransactionCount', and C2 paths '/0x/cls' and '/0x/ls') are hidden as \uXXXX escapes inside the base64 blob. The declared purpose is CSS animation utilities; none of this behavior is consistent with that purpose. Installing this package and referencing it in a Tailwind config results in arbitrary remote code execution on the build machine, with the C2 endpoint rotatable by the attacker via new on-chain transactions.

Source: ghsa-malware (c97bd57720c55b87ce2ff3c9896199234f69ee874e972b7483ffd64a14691a48)

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-58f3-m5c8-hcrv",
            "import_time": "2026-08-05T00:10:17.9086291Z",
            "modified_time": "2026-08-04T16:40:59Z",
            "ranges": [
                {
                    "events": [
                        {
                            "introduced": "0"
                        }
                    ],
                    "type": "SEMVER"
                }
            ],
            "sha256": "c97bd57720c55b87ce2ff3c9896199234f69ee874e972b7483ffd64a14691a48",
            "source": "ghsa-malware"
        },
        {
            "id": "IN-MAL-2026-013486",
            "import_time": "2026-08-05T07:06:49.875525487Z",
            "modified_time": "2026-08-05T06:30:04Z",
            "sha256": "fd7605f83f25074e67fa0c72679d47f50fe781dae40e4560ee0a216e91320014",
            "source": "amazon-inspector",
            "versions": [
                "1.1.0"
            ]
        },
        {
            "id": "IN-MAL-2026-014282",
            "import_time": "2026-08-05T09:27:51.358929605Z",
            "modified_time": "2026-08-05T08:27:45Z",
            "sha256": "116831ab9be6d921014344b3f4ec9467f7d45e6e960371276ada377b352c200c",
            "source": "amazon-inspector",
            "versions": [
                "1.1.1"
            ]
        },
        {
            "id": "IN-MAL-2026-014280",
            "import_time": "2026-08-05T09:27:51.163894042Z",
            "modified_time": "2026-08-05T08:27:28Z",
            "sha256": "8c01da9e4b23f79da3aef07d788449902cec65ba8cb5bd66b4db61768149b7ff",
            "source": "amazon-inspector",
            "versions": [
                "1.0.0"
            ]
        },
        {
            "id": "IN-MAL-2026-014281",
            "import_time": "2026-08-05T09:27:51.25985925Z",
            "modified_time": "2026-08-05T08:27:37Z",
            "sha256": "f1c747f480efb635f01370897e3fcac6a3814a8a9535f1eaac896597ba972581",
            "source": "amazon-inspector",
            "versions": [
                "0.0.1"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / tailwind-anime

Package

Name
tailwind-anime
View open source insights on deps.dev
Purl
pkg:npm/tailwind-anime

Affected ranges

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

Affected versions

0.*
0.0.1
1.*
1.0.0
1.1.0
1.1.1

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": "index.js",
            "sha256": "cbd8d3742ac7e0662f54cafaba800f65f7f4f39c81c8a0893b48de5c264eadf2",
            "tlsh": "71726fe2969a7647cf035526fe6f07ce1b3904b176ac1fa97013987223c9c5826ad31f"
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/tailwind-anime/MAL-2026-12027.json"