Skip to main content

use-reducer-async CVE-2026-48159

| EUVDEUVD-2026-55688 CRITICAL
Embedded Malicious Code (CWE-506)
2026-08-10 GitHub_M
9.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Attacker commits backdoor to default branch
  2. Delivery
    Developer clones affected checkout
  3. Exploit
    Runs npm install
  4. Install
    postinstall executes src/install.js
  5. C2
    Fetch attacker payload over HTTPS with TLS verify off
  6. Execute
    eval payload with require as user
  7. Impact
    Harvest credentials, full workstation compromise

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Code review, malicious code detection
Exploitation Conditions

Exploitation requires the victim to (1) obtain a checkout of dai-shi/use-reducer-async containing commits da72edb..df07d57 - i.e. a clone, fork, or direct-SHA reference captured during the 2026-05-18 16:29:52 to 2026-05-19 15:26:07 UTC window - and (2) run npm install against that checkout with lifecycle/postinstall scripts enabled (the default) on an interactive developer machine. Limiting factors: the malicious package was never published to npm, so normal registry installs of a released version are NOT affected; the payload deliberately skips execution on CI and cloud/serverless environments, so those hosts are not compromised; installing with --ignore-scripts prevents the postinstall hook from firing; and reaching the second stage additionally requires outbound HTTPS to the attacker-controlled endpoint. The commits are no longer on the default branch, so a fresh clone of current HEAD is not affected.

Impact

This is a genuine, high-priority supply-chain compromise for anyone who touched an affected checkout in the exposure window, but its blast radius is narrower than the 9.3 CVSS 4.0 base score suggests. The supplied CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N/VC:H/VI:H/VA:H) rates high confidentiality/integrity/availability impact with no user interaction, but that UI:N is questionable: exploitation requires a developer to actively obtain the poisoned commits and run npm install, so realistically user interaction is required (this analysis assesses UI:R / 4.0 UI:A). No EPSS score, no CISA KEV entry, and no public POC were provided; because the malicious version was never published to npm, the poisoning could not propagate through the registry to downstream consumers - it only affected people who cloned/forked the raw GitHub repo or referenced a direct SHA during the ~23-hour window. The force-push removed the commits from the default branch, further limiting new exposure. Net: for the small population that ran install from an affected checkout, treat as confirmed full workstation compromise; for everyone else practical risk is low. The second-stage payload was attacker-hosted and cannot be reconstructed, so exact post-exploitation behavior is unknown and should be assumed worst-case.

Exploit ScenarioDerived

A developer clones or pulls use-reducer-async from GitHub (or checks out a specific SHA shared in an issue or fork) during the 2026-05-18/2026-05-19 window and runs npm install to try the library. The postinstall hook silently runs src/install.js, which fetches attacker code over HTTPS with certificate checks disabled and evaluates it with full Node privileges, skipping execution if it detects CI or serverless so only the workstation is hit. Within seconds the attacker's second-stage code runs as the developer, harvesting local credentials, SSH keys, and cloud tokens for lateral movement.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 10, 2026

Malicious code injection into the use-reducer-async GitHub repository (a small React useReducer-with-async-actions helper by dai-shi) turned developer workstations into remote-code-execution targets during npm install. Between 2026-05-18 16:29:52 and 2026-05-19 15:26:07 UTC the default branch carried attacker-planted commits (da72edb through df07d57) that added src/install.js, wired it into the postinstall hook, fetched an attacker-hosted second-stage payload over TLS-verification-disabled HTTPS, and eval'd it with require available. The malicious version was never published to npm and the commits were force-pushed away, but any local clone, fork, or direct-SHA checkout still triggers the payload on install; there is no CISA KEV listing and no public exploit identified at time of analysis for the reconstructable payload itself.

RemediationAI

There is no version-number patch to apply because the malicious code was never published to npm; the upstream fix was removal of the backdoor commits from the default branch via force-push (upstream fix available; treat the current clean default-branch HEAD as remediated), documented in GHSA-2786-p4vj-vx8x (https://github.com/dai-shi/use-reducer-async/security/advisories/GHSA-2786-p4vj-vx8x). Delete and re-clone any local copy of the repository so no clone, fork, or direct-SHA checkout retains commits da72edb..df07d57, and never run npm install against an old checkout. Anyone who ran npm install against an affected checkout on a developer machine on or after 2026-05-18 16:29:52 UTC must treat that machine as fully compromised: rotate every credential the machine could reach (SSH keys, cloud/API tokens, npm tokens, browser- and CLI-stored secrets) and audit account and repository activity since 2026-05-18 16:29:52 UTC. As general hardening against this class of attack, run npm install with --ignore-scripts to suppress postinstall hooks and inspect lifecycle scripts before enabling them (trade-off: packages that legitimately need build steps will not run them and may require manual builds).

Affected VersionsENISA

use-reducer-async da72edbde5705efcec6c62e0a3dcb73687b78dc8, ≤ df07d5711458d8b46e11dd7afaaa21e88cafabfb

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is dai-shi's use-reducer-async (cpe:2.3:a:dai-shi:use-reducer-async), a lightweight React hook library distributed as a Node/npm package. The root cause is CWE-506 (Embedded Malicious Code): rather than a coding flaw, an attacker committed a deliberate backdoor. The abuse vector is the npm/Node lifecycle-script mechanism - the postinstall hook automatically executes src/install.js whenever npm install runs against the checkout. That script pulled a JavaScript blob from an attacker-controlled HTTPS endpoint (endpoint configurable via an environment variable), explicitly disabled TLS certificate verification, and evaluated the response as code with Node's require in scope, granting the payload full access to the Node runtime and the invoking user's filesystem and credentials. The dropper deliberately no-op'd on CI and cloud/serverless environments, fingerprinting to run only on interactive developer workstations where harvested secrets and SSH/cloud tokens are most valuable.

Know when Use Reducer Async gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.3 CRITICAL
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
vuln.today AI 8.8 HIGH

Payload is network-fetched and needs no privileges, but a developer must actively run npm install on an affected checkout, so UI:R; arbitrary code as the user yields full C/I/A:H.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

The use-reducer-async open-source project on GitHub was compromised with malicious code that executes on developer workstations during npm installation. Any developer with a local clone, fork, or direct-SHA checkout from May 18-19, 2026 faces direct workstation compromise and potential supply chain infection. This attack threatens development environments, build pipelines, and stored developer credentials.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Discontinue use of use-reducer-async-it is a minor utility library with viable alternatives; (2) For any internal forks, force-push to a commit prior to 2026-05-18T16:29:52Z; (3) Disable npm postinstall hooks organization-wide via npm config set ignore-scripts=true or equivalent CI/CD controls; (4) Audit all git clone and fork operations to confirm commits predate the attack window before running npm install.

Threat Intelligence Overview

EPSS Score
0.5%
Top 60% exploitable
Prevalence
Low
niche React helper library, malicious version never published to npm
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy