THREATPKG
SYNC STALE

Supply-chain threat intelligence

Incident detail

criticalnpm·maintainer compromise·osv

Malicious code in react-photo-views (npm)

react-photo-views

Risk score

92

AI summary

Indexed incident for react-photo-views (npm).

Description

Package name 'react-photo-views' (plural) impersonates the popular 'react-photo-view' (singular) component — README badges, downloads URLs, and documentation links in this package all point to the legitimate singular-name package and its docs at react-photo-view.vercel.app. The dist builds (dist/react-photo-view.js and the esm/modern variants) append a top-level IIFE that descrambles two large opaque string literals using a deterministic Fisher-Yates-style PRNG seeded with 2540575, looks up an 11-character property on the descrambler function (length of 'constructor', i.e. the Function constructor), and invokes the resulting function on further descrambled data with argument 7942. Before the call, require and module are stashed on the global object (global.r=require, global._V="A6-253-331"), which hands the runtime-constructed code full module-loader access. Any consumer who require()s or imports this package immediately executes attacker-supplied code that was never visible to static review. The same payload is duplicated across cjs, esm and modern builds and is appended after legitimate photo-viewer code, consistent with a dropper injected into a copy of the real package's source.

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.

Technical details

Affected versions

=1.0.1>=0

Indicators

  • Advisory IDs
    90%
  • affected version=1.0.175%
  • affected version>=075%

Timeline

  1. Advisory published
  2. Indexed by ThreatPkg

Related incidents