{"answers":{"affected":"1 open source package ship an affected version, including @cloudplatform-single-spa/ml-rag.","exploited":"There is no known exploitation of MAL-2026-4949 in the wild and no public exploit code.","fix":"Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.","what":"MAL-2026-4949 is a malicious package in @cloudplatform-single-spa/ml-rag, published on 28 May 2026."},"fix_prompt":"MAL-2026-4949 is a malicious package: @cloudplatform-single-spa/ml-rag (npm). Every version was published to cause harm.\n\nTask:\n1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.\n2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.\n3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.\n4. If the package is not used anywhere, say so and change nothing.\n\nReference: https://insights.sbomify.com/MAL-2026-4949/ (Markdown: https://insights.sbomify.com/MAL-2026-4949/index.md)","id":"MAL-2026-4949","markdown":"https://insights.sbomify.com/MAL-2026-4949/index.md","name":"MAL-2026-4949","record":{"aliases":[],"analysis":null,"analysis_generated_by":null,"assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"Part of a dependency confusion attack campaign targeting the `@cloudplatform-single-spa` and `@mlspace` npm scopes. The attacker (npm user **mr.4nd3r50n**) published 139 scoped packages at the inflated version `99.99.99`, which resolves ahead of any private registry version via npm's default version resolution, silently hijacking installs of internal packages.\n\nOn installation, the `postinstall` hook executes `scripts/postinstall.js`. The script waits 3 seconds (sandbox evasion), then downloads an OS-specific second-stage JavaScript payload from `https://oob.moika.tech/payload/{mac|win|linux}.js`, writes it to a temporary file (`._cloudplatform-single-spa_init.js` in the system temp directory), and spawns it as a detached Node.js process that continues running after npm exits. The payload exfiltrates the full `process.env` (environment variables including secrets, tokens, and credentials), along with hostname, username, platform, architecture, and working directory, to the C2 endpoint `https://oob.moika.tech/report`. If the second-stage download fails, a fallback beacon containing the same system details is sent to the same endpoint.","ecosystems":["npm"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":false,"headline":"Malicious code in @cloudplatform-single-spa/ml-rag (npm)","id":"MAL-2026-4949","indexable":true,"kev":null,"kind":"malicious","links":{"ecosystem":"npm","product":null,"products":[],"type":null,"year":"2026"},"n_packages":1,"n_references":null,"packages":[{"ecosystem":"npm","fixed":[],"introduced":["0"],"last_affected":[],"package":"@cloudplatform-single-spa/ml-rag","purl":"pkg:npm/%40cloudplatform-single-spa%2Fml-rag","source":"MAL-2026-4949"}],"products":null,"published":"2026-05-28","related":[],"sources":[{"class":"attribution","licence":"Apache-2.0","name":"OpenSSF Malicious Packages","prefix":"MAL"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":null,"url":"https://insights.sbomify.com/MAL-2026-4949/"}