Skip to content
Heist/ feed
Unrated

Malicious code in css-mpmdds-polyfill (npm)

Type: advisorySource: OSV1 source record

--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (4bac0cb0a2c693985668a890ff2ace72ff2d00dac60bc5470a77160c4d765106) The package presents itself as a CSS polyfill but ships thunderboltRegistry.js which runs an IIFE at module load. The IIFE acquires child_process via multiple fallbacks (require('child_process'), require('node:child_process'), and a synthesized Module constructor), executes shell commands to collect host identity (id, whoami, uname -a, ifconfig/ip addr, /etc/hosts) along with os.hostname, Node version, platform and pid, and transmits each result via fetch() as query parameters to the hardcoded endpoint http://dxpoc.gt.tc/callback.php/bb8968d0f67000433bf7005dd5ad2d1f over plaintext HTTP to a free-DNS (gt.tc) host unrelated to any CSS polyfill functionality. The IIFE also enumerates require.cache and deletes entries containing 'thunderboltRegistry' so the payload re-executes on every require rather than being memoized. registry-manifest.min.json maps multiple Wix/thunderbolt internal registry module names (siteAssetsRegistry.js, editorRegistry.js, and others) all to the same thunderboltRegistry.js payload mirrored on static.parastorage.com's unpkg mirror, consistent with a dependency-confusion / typosquat targeting the Wix thunderbolt ecosystem. The package stubs a Wix-ecosystem API surface via Proxy to appear functional while the exfil IIFE runs. The package name resembles a CSS polyfill but the shipped behavior is host reco

Announced Source revision 1
Original source ↗

MAL-2026-17554

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:MAL-2026-17554

css-mpmdds-polyfill

Source reference: /affected/0/package/name

Affected versions
1.0.0

Source reference: /affected/0/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "package": {
      "name": "css-mpmdds-polyfill",
      "purl": "pkg:npm/css-mpmdds-polyfill",
      "ecosystem": "npm"
    },
    "versions": [
      "1.0.0"
    ],
    "database_specific": {
      "cwes": [
        {
          "name": "Embedded Malicious Code",
          "cweId": "CWE-506",
          "description": "The product contains code that appears to be malicious in nature."
        }
      ],
      "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/css-mpmdds-polyfill/MAL-2026-17554.json",
      "indicators": {
        "evidence_files": [
          {
            "path": "thunderboltRegistry.js",
            "tlsh": "e87154a5b99df02065c33438cb7f4049b4bbc6672d6caee0744899b01f7985c01be6f8",
            "sha256": "a485cb48081ea590cab385a405886cfe6f30af7d415f30bc8d7937ace461b928"
          },
          {
            "path": "registry-manifest.min.json",
            "tlsh": "ae0170dd0d0a51ff1bc0998f5406fb0ae6034dc60ceee272592155a078681e112fa7ef",
            "sha256": "1447737dc08969f2fbeb8da54a73ce3a3f7287c8b93a8c01d0b8cca6eeb3e2be"
          }
        ],
        "package_integrity": [
          {
            "hashes": {
              "sha1": "413d05dfc5b96e4731170bc5781dde591bb276bf",
              "sha512_sri": "sha512-w3/uJzPKqV/5YRAe2HQ6YmJwJTqlSWvsONxbsebe0bA1oC8o9P34FxYDCoUEm0z8HWCtCGDves6qUxlPttrSSA=="
            },
            "filename": "css-mpmdds-polyfill-1.0.0.tgz"
          }
        ]
      }
    }
  }
]

Publisher severity

No explicit severity was provided.

Event
#83612 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement