---
id: CVE-2026-48158
title: >-
  use-context-selector is a React useContextSelector hook in userland Between
  2026-05-18 15:57:18 and 2026-05-19 15:24:34, the default branch contained
  malicious commits 9d8481a513b7b0d1c0941b220c69b25de748641b through
  6f2dae054ca014068bdb…
summary: >-
  use-context-selector is a React useContextSelector hook in userland Between
  2026-05-18 15:57:18 and 2026-05-19 15:24:34, the default branch contained
  malicious commits 9d8481a513b7b0d1c0941b220c69b25de748641b through
  6f2dae054ca014068bdb…
severity: critical
cvss: 9.3
cvssVector: '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'
cwe:
  - CWE-506
vendor: dai-shi
product: use-context-selector
affected:
  - >-
    use-context-selector >= 9d8481a513b7b0d1c0941b220c69b25de748641b, <=
    6f2dae054ca014068bdbbb4db96006424d674124
published: '2026-08-10'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T20:55:04.493'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-48158'
references:
  - url: >-
      https://github.com/dai-shi/use-context-selector/security/advisories/GHSA-7h6v-mwq6-jhm8
    label: security-advisories@github.com
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-08-11T01:55:43.542457Z'
cvssSource: cna
ingestedAt: '2026-09-13T14:41:23.499Z'
epss: 0.00396
epssPercentile: 0.33564
---

## Overview

use-context-selector is a React useContextSelector hook in userland Between 2026-05-18 15:57:18 and 2026-05-19 15:24:34, the default branch contained malicious commits 9d8481a513b7b0d1c0941b220c69b25de748641b through 6f2dae054ca014068bdbbb4db96006424d674124 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 15:57:18 should treat the machine as compromised, rotate every credential the machine could reach, audit account activity** since 2026-05-18 15:57:18, and clean local clones.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
