Description
use-reducer-async is a React useReducer with async actions. Between 2026-05-18 16:29:52 and 2026-05-19 15:26:07, the default branch contained malicious commits da72edbde5705efcec6c62e0a3dcb73687b78dc8 through df07d5711458d8b46e11dd7afaaa21e88cafabfb that executed remote attacker-controlled code on developer machines during `npm install`. The commits were removed by force-push, but local clones, forks, and direct-SHA URLs may still contain them, and `npm install` against an affected checkout will still execute the code today. The package was not published to npm. `src/install.js` was added and wired into the `postinstall` script. It fetched a JavaScript payload from an attacker-controlled HTTPS endpoint (configurable via an environment variable), disabled TLS verification, and evaluated the response as code with `require` available. Execution was deliberately skipped on CI and cloud/serverless environments, targeting developer workstations. The second-stage payload was attacker-hosted and cannot be reconstructed. Assume full compromise of anything reachable from a Node process with the user's permissions. Those who ran `npm install` against an affected checkout on a developer machine on or after 2026-05-18 16:29:52 should treat the machine as compromised, rotate every credential the machine could reach, audit account activity since 2026-05-18 16:29:52, and clean local clones.
Published: 2026-08-10
Score: 9.3 Critical
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A malicious post‑install script was injected into the use‑reducer‑async package between May 18 and May 19 2026. The script fetched a payload from an attacker‑controlled HTTPS endpoint, disabled TLS verification, and evaluated the response as JavaScript with filesystem access. This allowed an attacker to execute arbitrary code on any developer system that ran "npm install" against the affected source tree, effectively providing full remote code execution under the user’s privileges.

Affected Systems

The vulnerability affects the React utility package use‑reducer‑async developed by dai‑shi. No specific version numbers are listed in the advisory, so any clone of the repository that contained the malicious commits is potentially vulnerable. Local forks or direct‑SHA clones remain at risk even after the offending commits were force‑pushed.

Risk and Exploitability

The attack vector is straightforward: any developer who installs the package from a repository containing the malicious commits will trigger the exploit during post‑install. Since the vulnerability is not dependent on special network conditions or elevated privileges, the EPSS score is unavailable but the CVSS rating of 9.3 indicates a high severity. The vulnerability is not listed in CISA’s KEV catalog; however, the human‑executable payload and TLS bypass represent a real‑world exploitation risk. An attacker requires only access to the local repository and the ability to run "npm install"—common in most development workflows. Once executed, the code runs with the full permissions of the Node process, providing a complete compromise of any resources reachable from the developer machine.

Generated by OpenCVE AI on August 10, 2026 at 19:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Delete all local copies of the repository, including forks and sub‑module references, to eliminate the malicious commits from any work environment.
  • Patch the source by removing the fetched install.js script and disabling the postinstall hook; alternatively, replace the package with a clean version from an untainted source.
  • Re‑install dependencies from the patched or fresh source tree, ensuring the postinstall script is no longer present.
  • Audit all credentials and actions on the affected machine since the date of the last malicious commit, and rotate any compromised secrets.

Generated by OpenCVE AI on August 10, 2026 at 19:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 18:15:00 +0000

Type Values Removed Values Added
Description use-reducer-async is a React useReducer with async actions. Between 2026-05-18 16:29:52 and 2026-05-19 15:26:07, the default branch contained malicious commits da72edbde5705efcec6c62e0a3dcb73687b78dc8 through df07d5711458d8b46e11dd7afaaa21e88cafabfb that executed remote attacker-controlled code on developer machines during `npm install`. The commits were removed by force-push, but local clones, forks, and direct-SHA URLs may still contain them, and `npm install` against an affected checkout will still execute the code today. The package was not published to npm. `src/install.js` was added and wired into the `postinstall` script. It fetched a JavaScript payload from an attacker-controlled HTTPS endpoint (configurable via an environment variable), disabled TLS verification, and evaluated the response as code with `require` available. Execution was deliberately skipped on CI and cloud/serverless environments, targeting developer workstations. The second-stage payload was attacker-hosted and cannot be reconstructed. Assume full compromise of anything reachable from a Node process with the user's permissions. Those who ran `npm install` against an affected checkout on a developer machine on or after 2026-05-18 16:29:52 should treat the machine as compromised, rotate every credential the machine could reach, audit account activity since 2026-05-18 16:29:52, and clean local clones.
Title use-reducer-async was vulnerable to malicious code execution via compromised commits
Weaknesses CWE-506
References
Metrics cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-10T17:55:45.932Z

Reserved: 2026-05-20T23:12:43.031Z

Link: CVE-2026-48159

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T20:00:03Z

Weaknesses