# esbuild Deno module missing binary integrity verification in npm download

Source: https://junglewise.ai/threats/esbuild-deno-module-missing-binary-integrity-verification-in-npm-995a886a  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-12. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

Severity: low · CVSS 3.1 · Published 2026-06-12

esbuild is a JavaScript bundler with Deno module support that downloads native binaries from npm registries during installation. A missing integrity check in the Deno variant allows attackers who control the NPM_CONFIG_REGISTRY environment variable to supply malicious binaries that execute with the privileges of the Deno process, achieving complete code execution. This is particularly dangerous in CI/CD pipelines and shared development environments where registry configuration is often centralized.

Technologies: [esbuild (npm)](https://junglewise.ai/threats/technologies/esbuild). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is This vulnerability exploited in the wild?** No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.

**How severe is This vulnerability?** Low severity, with a CVSS score of 3.1, published 12 June 2026.

**Which products and versions are affected?** esbuild (npm) SEMVER:introduced=0.17.0,fixed=0.28.1.

**Is there a fix for This vulnerability?** Yes. esbuild (npm): upgrade to 0.28.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is This vulnerability attacked?** It is attacked over the network.

**Am I affected?** Check whether you run esbuild (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- esbuild (npm): upgrade to 0.28.1 or later

  ```sh
  npm install esbuild@0.28.1
  ```


## Technical details

The esbuild Deno module (lib/deno/mod.ts) fetches native binary executables from an npm registry specified by the NPM_CONFIG_REGISTRY environment variable without performing SHA-256 integrity verification. The Node.js equivalent (lib/npm/node-install.ts) includes a binaryIntegrityCheck() function that validates downloaded binaries against hardcoded hashes in package.json, but this protection was never implemented for Deno. An attacker controlling the NPM_CONFIG_REGISTRY variable can redirect downloads to a malicious server and serve trojaned binaries that are written to disk with executable permissions (0o755) and subsequently executed by the Deno process. The vulnerability affects versions >=0.17.0 and was patched in >=0.28.1. No user interaction or prior authentication is required; the attack vector is network-accessible and depends only on environment variable manipulation, which is common in enterprise CI/CD systems.

## Affected products

- evanw esbuild >=0.17.0

## Timeline

- 2026-06-11: disclosed
- 2026-06-28: patched: Fixed in version 0.28.1

## References

- [https://github.com/evanw/esbuild/security/advisories/GHSA-gv7w-rqvm-qjhr](https://github.com/evanw/esbuild/security/advisories/GHSA-gv7w-rqvm-qjhr)
- [https://github.com/evanw/esbuild](https://github.com/evanw/esbuild)

## Related threats

- [esbuild path traversal in development server on Windows](https://junglewise.ai/threats/esbuild-path-traversal-in-development-server-on-windows-4c2fbe4a)
- [esbuild CORS misconfiguration allows source code theft](https://junglewise.ai/threats/esbuild-cors-misconfiguration-allows-source-code-theft-3f1aa15a)
