Supply-chain threat intelligence

Incident detail

criticalnpm·typosquatting·osv

Malicious code in postcss-minify-selector-parser (npm)

postcss-minify-selector-parser

Risk score

92

AI summary

Indexed incident for postcss-minify-selector-parser (npm).

Description

The package name impersonates the widely-used postcss-selector-parser library (which it also declares as a dependency and re-exports verbatim from src/selector-parser.js, providing cover for installers who mistype the real package). On top of that legitimate re-export, the package ships a sealed AES-GCM ciphertext as DEFAULT_FINAL_ENCODED_TEXT in src/config/defaults.js together with a hardcoded passphrase (default-dev-passphrase) and salt. src/pipeline/custom-codec-pipeline.js line 53 decrypts the blob and evaluates the cleartext via new Function("require", runnable)(require), handing the decrypted code full require capability on the installer's machine. This decode-and-eval path is reachable through the package's exported run / decodeAndRunPlain / runDefaultDecodedFunction API, through require('postcss-minify-selector-parser/cjs-runner'), and through the bundled runtime/lib.min.js and scripts/cjs-runner.js. The README documents none of this — it presents the package as a CSS selector parser. The combination of typosquat name, hidden encrypted payload, multi-layer custom codec pipeline (position-unit-codec + encode-decode-codec + AES-GCM) used solely to wrap that payload, and direct new Function(require) execution of the decrypted bytes is the canonical opaque-blob-eval supply-chain attack shape. Author field is empty, no repository URL is declared, license is generic ISC.

Technical details

Affected versions

=1.0.15=1.0.17=1.0.13=1.0.18=1.0.14=1.0.16=2.0.1=1.0.11=1.0.12

Indicators

  • affected version=1.0.1575%
  • affected version=1.0.1775%
  • affected version=1.0.1375%
  • affected version=1.0.1875%
  • affected version=1.0.1475%
  • affected version=1.0.1675%
  • affected version=2.0.175%
  • affected version=1.0.1175%
  • affected version=1.0.1275%

Timeline

  1. Advisory published
  2. Indexed by ThreatPkg

Related incidents