Open Source · · 4 days
Red Hat npm namespace poisoned via a maintainer's editor
An attacker used a Red Hat employee's GitHub account, compromised by a malicious VS Code extension, to inject the Miasma preinstall dropper into 32 @redhat-cloud-services npm packages. Red Hat published 96 malicious versions before pulling them.
Part of Miasma worm burrowed through npm for two months campaign
Red Hat confirmed in early June 2026 that attackers had published malicious versions of 32 npm packages in its @redhat-cloud-services namespace, using an employee's GitHub account that had been compromised through a booby-trapped Visual Studio Code extension.
The affected packages are frontend JavaScript libraries that build the Hybrid Cloud Console at console.redhat.com, Red Hat's web interface for managing subscriptions and cloud services. They are not headline packages, but between them they accounted for roughly 117,000 weekly npm downloads, most of it into build pipelines rather than onto developer laptops.
In security bulletin RHSB-2026-006, published June 2, Red Hat said the intrusion began on May 29, when the attacker used the stolen GitHub account to inject malicious code into repositories in a Red Hat GitHub organization and to alter configuration files in a way designed to infect other developers who worked on them. Ninety-six versions across the 32 packages reached the npm registry. The malware, which researchers had begun tracking as Miasma, arrived as a preinstall script, which meant it executed during npm install before any application code ran.
Red Hat engineering removed the compromised versions from npm after disclosure and said no Red Hat product or enterprise software had been built or shipped with an affected version, so customers were not asked to take action. The entry point drew as much comment as the payload. A developer's editor extension is not usually modeled as part of a vendor's release pipeline, and in this case it was the shortest path to a namespace trusted by everyone who builds against the console.
Notes
- Red Hat attributed the initial access to a GitHub account compromised by a malicious VS Code extension, not to a compromised npm publishing token. The malicious code was injected at the source repository and carried forward into published packages.
- Red Hat reported 32 packages and 96 versions. Weekly download volume across the affected packages was reported as 116,991; Wiz put the figure at roughly 80,000. No count of successful installs of a malicious version has been published.
- The per-package version list comes primarily from StepSecurity, augmented with '@redhat-cloud-services/vulnerabilities-client' 2.1.8 from the exact-version ReversingLabs IOC table and corroborating SafeDep reporting. It now accounts for all 96 versions Red Hat reported. The vulnerabilities-client sequence is 2.1.8, 2.1.9, and 2.1.11; no source reviewed identifies the intervening 2.1.10 as malicious.
- Wiz identified the compromise on 2026-06-01 by finding at least 32 package releases whose contents did not match their source repositories, which is the detection angle that works when the publishing identity itself is legitimate.
- Red Hat stated that no Red Hat products or enterprise software were built or shipped with a compromised version and that no customer action was required.
- ReversingLabs reported that all 31 first-wave loaders were unique; its public IOC table exposes exact package/version mappings for 30 of them. The topological-inventory-client row is absent from the rendered table. Microsoft separately published six later-wave loader hashes. These are component-file checksums, not checksums of the npm tarballs, and are recorded only as artifact indicators.
Appendix · Affected releases
- SlowMist published all three checksums for the complete redhat-cloud-services-types-3.6.1.tgz archive. Whole-archive checksums for 3.6.2 and 3.6.4 remain unverified.
- SlowMist published all three checksums for the complete redhat-cloud-services-frontend-components-config-6.11.3.tgz archive. Whole-archive checksums for 6.11.4 and 6.11.6 remain unverified.
- SlowMist published all three checksums for the complete redhat-cloud-services-rule-components-4.7.2.tgz archive. Whole-archive checksums for 4.7.3 and 4.7.5 remain unverified.
- Socket published SHA-256 88896d478986d453f5da79b311de39d9b4b1bea95c21af1d8ef181b0f4e52fe9 for the complete 2.3.1 tarball. Whole-archive checksums for 2.3.2 and 2.3.4 remain unverified.
Indicators
- advisoryRHSB-2026-006
- malware_familyMiasma
References
- Multiple redhat-cloud-services npm Packages compromised - StepSecuritystepsecurity.io
- Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages - Socketsocket.dev
- Red Hat npm Packages Compromised in Supply Chain Attack - Linuxiaclinuxiac.com
- IronWorm and New Miasma Worm Variant Hit npm in Supply Chain Attacks - The Hacker Newsthehackernews.com
- Miasma: Supply Chain Attack Targeting RedHat npm Packages - Wizwiz.io
- Miasma Attack Hits Red Hat npm Packages - Snyksnyk.io
- Threat Intelligence | Red Hat Cloud Services npm Package Supply Chain Poisoning - SlowMistslowmist.medium.com
- Preinstall to persistence: Inside the Red Hat npm Miasma credential-stealing campaign - Microsoft Security Blogmicrosoft.com
- Dozens of Red Hat npm packages targeted in supply chain attack - Cybersecurity Divecybersecuritydive.com
- 31 Red Hat npm packages backdoored by Miasma in 72 seconds - ReversingLabsreversinglabs.com
Source record: oss/attacks/redhat-cloud-services/meta.yaml