Commit ab4831d
Fix npm audit vulnerabilities in /js directory (#26632)
### Description
Resolved all security vulnerabilities in JavaScript packages under `/js`
by running `npm audit fix`. All updates are non-breaking patch/minor
version bumps.
**Fixed vulnerabilities:**
- `/js` root: 1 high severity
- `glob` 10.4.5 → 10.5.0 (command injection - GHSA-5j98-mcp5-4vw2)
- `/js/react_native`: 7 vulnerabilities (1 high, 3 moderate, 3 low)
- `image-size` → 1.2.1 (high: DoS via infinite loop -
GHSA-m5qc-5hw7-8vg7)
- `@babel/helpers` 7.25.6 → 7.28.4 (moderate: RegExp complexity -
GHSA-968p-4wvh-cqc8)
- `@babel/runtime` 7.25.6 → 7.28.4 (moderate: RegExp complexity -
GHSA-968p-4wvh-cqc8)
- `js-yaml` → fixed (moderate: prototype pollution -
GHSA-mh29-5h37-fv8m)
- `brace-expansion` 2.0.1 → 2.0.2 (low: ReDoS - GHSA-v6h2-p8h4-qcjw)
- `on-headers` → fixed (low: header manipulation - GHSA-76c9-3jph-rj3q)
**Files modified:**
- `js/package-lock.json`
- `js/react_native/package-lock.json`
**Result:** All JS packages (`/js`, `/js/common`, `/js/web`, `/js/node`,
`/js/react_native`) now report 0 vulnerabilities.
### Motivation and Context
Security maintenance to address dependency vulnerabilities identified by
`npm audit`. No breaking changes or code modifications required.
<!-- START COPILOT CODING AGENT SUFFIX -->
<details>
<summary>Original prompt</summary>
> Please create a pull request that runs `npm audit fix` for the
JavaScript/TypeScript portion of the repository under the `/js`
directory of
[microsoft/onnxruntime](https://github.com/microsoft/onnxruntime).
>
> Requirements:
>
> 1. **Scope**
> - Work only within the `/js` folder and its subpackages (e.g.,
`js/web`, `js/node`, `js/common`, etc.).
> - Do not modify files outside `/js`.
>
> 2. **Dependency updates**
> - Run `npm audit fix` (and, if necessary to fully resolve
high/critical issues while staying non-breaking, `npm audit fix --force`
on specific subpackages) to address security vulnerabilities.
> - Prefer minimal, non-breaking version bumps (patch and minor) that
satisfy `npm audit` while keeping semver ranges sensible.
> - If any **major** upgrades are required to clear vulnerabilities,
handle them cautiously:
> - Apply the upgrade only if tests still pass and typings/build setup
remain compatible.
> - If a major bump would require code changes or creates breaking
behavior, **do not** apply it; instead, leave a TODO comment in the PR
description summarizing which packages remain vulnerable and why.
>
> 3. **Validation**
> - Run the existing JS-related checks that the repo supports from
`/js`, such as:
> - `npm test` or package-specific test scripts.
> - Any documented lint/build/test commands for JS packages (e.g., `npm
run build`, `npm run lint`) where applicable.
> - Ensure the updated lockfiles (if present) are consistent, and the
project installs cleanly with `npm ci` (or the repo's documented install
command) in the `/js` area.
>
> 4. **Files to update**
> - Update `package.json` and lockfiles under `/js` (e.g.,
`package-lock.json`, `npm-shrinkwrap.json`, or workspace-specific lock
files) to reflect the audited dependency tree.
> - Do not manually edit `node_modules`; rely on `npm` to manage
dependencies and only commit manifest/lockfile changes.
>
> 5. **Repository conventions**
> - Follow this repo's existing conventions for formatting, commit
messages, and JS tooling.
> - Keep the diff focused on the dependency and lockfile updates plus
any absolutely necessary code tweaks to maintain compatibility.
>
> 6. **Pull request description**
> - In the PR body, include:
> - A short summary: that `npm audit fix` was run in `/js` to address
dependency vulnerabilities.
> - A bullet list of notable dependency changes (especially any major
version bumps), with packages and old/new versions.
> - A brief testing summary (commands run and their results).
> - A note about any remaining vulnerabilities that could not be fixed
without breaking changes (if applicable), including the affected
packages and advisories if available.
>
> The goal is a clean, minimal PR that improves the security posture of
the JS packages under `/js` in `microsoft/onnxruntime` without
introducing breaking changes.
</details>
*This pull request was created as a result of the following prompt from
Copilot chat.*
> Please create a pull request that runs `npm audit fix` for the
JavaScript/TypeScript portion of the repository under the `/js`
directory of
[microsoft/onnxruntime](https://github.com/microsoft/onnxruntime).
>
> Requirements:
>
> 1. **Scope**
> - Work only within the `/js` folder and its subpackages (e.g.,
`js/web`, `js/node`, `js/common`, etc.).
> - Do not modify files outside `/js`.
>
> 2. **Dependency updates**
> - Run `npm audit fix` (and, if necessary to fully resolve
high/critical issues while staying non-breaking, `npm audit fix --force`
on specific subpackages) to address security vulnerabilities.
> - Prefer minimal, non-breaking version bumps (patch and minor) that
satisfy `npm audit` while keeping semver ranges sensible.
> - If any **major** upgrades are required to clear vulnerabilities,
handle them cautiously:
> - Apply the upgrade only if tests still pass and typings/build setup
remain compatible.
> - If a major bump would require code changes or creates breaking
behavior, **do not** apply it; instead, leave a TODO comment in the PR
description summarizing which packages remain vulnerable and why.
>
> 3. **Validation**
> - Run the existing JS-related checks that the repo supports from
`/js`, such as:
> - `npm test` or package-specific test scripts.
> - Any documented lint/build/test commands for JS packages (e.g., `npm
run build`, `npm run lint`) where applicable.
> - Ensure the updated lockfiles (if present) are consistent, and the
project installs cleanly with `npm ci` (or the repo's documented install
command) in the `/js` area.
>
> 4. **Files to update**
> - Update `package.json` and lockfiles under `/js` (e.g.,
`package-lock.json`, `npm-shrinkwrap.json`, or workspace-specific lock
files) to reflect the audited dependency tree.
> - Do not manually edit `node_modules`; rely on `npm` to manage
dependencies and only commit manifest/lockfile changes.
>
> 5. **Repository conventions**
> - Follow this repo's existing conventions for formatting, commit
messages, and JS tooling.
> - Keep the diff focused on the dependency and lockfile updates plus
any absolutely necessary code tweaks to maintain compatibility.
>
> 6. **Pull request description**
> - In the PR body, include:
> - A short summary: that `npm audit fix` was run in `/js` to address
dependency vulnerabilities.
> - A bullet list of notable dependency changes (especially any major
version bumps), with packages and old/new versions.
> - A brief testing summary (commands run and their results).
> - A note about any remaining vulnerabilities that could not be fixed
without breaking changes (if applicable), including the affected
packages and advisories if available.
>
> The goal is a clean, minimal PR that improves the security posture of
the JS packages under `/js` in `microsoft/onnxruntime` without
introducing breaking changes.
<!-- START COPILOT CODING AGENT TIPS -->
---
✨ Let Copilot coding agent [set things up for
you](https://github.com/microsoft/onnxruntime/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fs-eire <7679871+fs-eire@users.noreply.github.com>1 parent e6e048e commit ab4831d
2 files changed
+142
-127
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments