Skip to content

fix: bump npm deps to resolve Dependabot advisories#9191

Merged
sriramveeraghanta merged 2 commits into
previewfrom
fix/dependabot-npm-advisories
Jun 1, 2026
Merged

fix: bump npm deps to resolve Dependabot advisories#9191
sriramveeraghanta merged 2 commits into
previewfrom
fix/dependabot-npm-advisories

Conversation

@sriramveeraghanta
Copy link
Copy Markdown
Member

@sriramveeraghanta sriramveeraghanta commented Jun 1, 2026

Description

Resolves all 8 open Dependabot alerts (all npm, manifest pnpm-lock.yaml; 3 high, 4 moderate, 1 low) by bumping the affected packages in pnpm-workspace.yaml and regenerating the lockfile. No source code changes — every bump is a semver-compatible patch/minor upgrade.

Alert Package Severity Fix Advisory
#251 axios high 1.15.2 → 1.16.0 CVE-2026-44494 — MITM via prototype pollution in config.proxy
#250 axios high 1.15.2 → 1.16.0 CVE-2026-44492NO_PROXY bypass via IPv4-mapped IPv6
#249 axios moderate 1.15.2 → 1.16.0 CVE-2026-44490 — DoS & header injection via prototype pollution
#248 axios low 1.15.2 → 1.16.0 CVE-2026-44489 — Proxy-Authorization header injection
#247 tmp high 0.2.5 → 0.2.6 CVE-2026-44705 — path traversal via unsanitized prefix/postfix
#244 ws moderate 8.18.3 → 8.20.1 CVE-2026-45736 — uninitialized memory disclosure
#241 qs moderate 6.14.2 → 6.15.2 CVE-2026-8723 — DoS in qs.stringify
#240 brace-expansion moderate 5.0.5 → 5.0.6 CVE-2026-45149 — DoS via large numeric range

Implementation notes

  • axios is a catalog: (direct) dependency — bumped in the catalog block.
  • brace-expansion and qs were pinned to their vulnerable versions inside the overrides: block, so a plain lockfile regen would not have fixed them; the pins themselves were bumped.
  • tmp was an unpinned transitive dep — added to overrides: at the patched version.
  • ws is scoped to the 8.x major ("ws@8": 8.20.1) because the coexisting ws@7.5.10 (via express) is below the vulnerable >=8.0.0 floor and must not be forced up. The catalog ws entry was pinned to the same exact version to dedup to a single copy.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

Screenshots and Media (if applicable)

Test Scenarios

  • CI installs with --frozen-lockfile succeed (lockfile is in sync with pnpm-workspace.yaml).
  • Lockfile scan shows only patched versions: axios@1.16.0, tmp@0.2.6, qs@6.15.2, brace-expansion@5.0.6, ws@8.20.1 (and the unaffected ws@7.5.10); no vulnerable version remains.
  • App builds/typechecks pass (pnpm check:types, pnpm build) — all upgrades are within-major and API-compatible.
  • After merge to preview, the 8 Dependabot alerts auto-close.

References

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated workspace dependencies and security overrides to newer, more secure versions.
  • Refactor
    • Simplified HTTP client initialization across services to standardize behavior without changing public APIs.

Resolve 8 open Dependabot alerts (all npm, in pnpm-lock.yaml) by bumping
the affected packages in pnpm-workspace.yaml and regenerating the lockfile:

- axios 1.15.2 -> 1.16.0 (catalog): CVE-2026-44494/44492/44490/44489
- tmp -> 0.2.6 (override): CVE-2026-44705 path traversal
- ws 8.x -> 8.20.1 (catalog + scoped override): CVE-2026-45736
- qs 6.14.2 -> 6.15.2 (override): CVE-2026-8723 DoS
- brace-expansion 5.0.5 -> 5.0.6 (override): CVE-2026-45149 DoS

brace-expansion and qs were pinned to their vulnerable versions in the
overrides block, so the pins had to be bumped directly. ws is scoped to
the 8.x major (ws@7.5.10 is below the vulnerable >=8.0.0 floor). All bumps
are semver-compatible patch/minor upgrades; no source changes required.
Copilot AI review requested due to automatic review settings June 1, 2026 12:29
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 1, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 62780e66-817c-45a7-b723-afa654f367e5

📥 Commits

Reviewing files that changed from the base of the PR and between 63d2cb6 and 087db5a.

📒 Files selected for processing (3)
  • apps/live/src/services/api.service.ts
  • apps/web/core/services/api.service.ts
  • packages/services/src/api.service.ts
✅ Files skipped from review due to trivial changes (1)
  • apps/live/src/services/api.service.ts

📝 Walkthrough

Walkthrough

This PR bumps workspace dependency pins (axios, ws) and overrides (brace-expansion, qs, tmp, ws@8), and changes three APIService files to import axios via the named create export and instantiate axios with create({...}).

Changes

Workspace Dependency Updates

Layer / File(s) Summary
Catalog and override versions
pnpm-workspace.yaml
Catalog pins updated: axios (1.15.2 → 1.16.0), ws (^8.18.3 → 8.20.1). Overrides updated/added: brace-expansion (5.0.5 → 5.0.6), qs (6.14.2 → 6.15.2), tmp (0.2.6), and ws@8 (8.20.1).

APIService axios create refactor

Layer / File(s) Summary
APIService create import & instantiation
apps/live/src/services/api.service.ts, apps/web/core/services/api.service.ts, packages/services/src/api.service.ts
Switch default axios import to named create and replace axios.create({...}) with create({...}) in each APIService constructor; configuration and behavior preserved.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • Palanikannan1437
  • dheeru0198
  • anmolsinghbhatia

🐰 I hopped through versions, snug and spry,
Swapped imports and pins with a twinkling eye.
Instances born from create with cheer,
Workspace fresh — dependencies clear.
sniff 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main objective of the PR: bumping npm dependencies to resolve Dependabot security advisories.
Description check ✅ Passed The description is comprehensive and well-structured, covering all template sections with detailed context about the security vulnerabilities, implementation approach, and testing strategy.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/dependabot-npm-advisories

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR resolves 8 Dependabot npm security alerts by updating dependency versions in the workspace catalog/overrides and regenerating pnpm-lock.yaml so the patched versions are enforced across the monorepo.

Changes:

  • Bumped axios to 1.16.0 via the workspace catalog (and lockfile).
  • Updated brace-expansion to 5.0.6 and qs to 6.15.2 via overrides to remove vulnerable pins.
  • Added tmp@0.2.6 and constrained ws@8 to 8.20.1 via overrides, while keeping ws@7.5.10 present.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
pnpm-workspace.yaml Updates catalog/overrides to force patched versions of flagged dependencies.
pnpm-lock.yaml Regenerates lockfile to reflect the updated catalog/overrides and eliminate vulnerable resolutions.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
pnpm-workspace.yaml (1)

202-202: CVE fixes in pnpm-workspace.yaml overrides are aligned with the targeted package versions (brace-expansion@5.0.6, qs@6.15.2, tmp@0.2.6)

  • brace-expansion 5.0.6 fixes CVE-2026-45149 (DoS from improper handling of max; affected 5.0.0–5.0.5).
  • qs 6.15.2 fixes CVE-2026-8723 (crash/DoS path in stringify for comma + encodeValuesOnly: true; fix released in 6.15.2).
  • tmp 0.2.6 fixes CVE-2026-44705 (path traversal from unsanitized prefix/postfix/dir).
  • Latest stable tmp is 0.2.7; consider bumping from 0.2.6 if you want the newest release (the CVE is already fixed in 0.2.6).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pnpm-workspace.yaml` at line 202, Update the pnpm workspace overrides to pin
the vulnerable packages to the fixed versions: set brace-expansion to 5.0.6, qs
to 6.15.2, and tmp to at least 0.2.6 (preferably 0.2.7); modify the override
entries named "brace-expansion", "qs", and "tmp" in the pnpm-workspace.yaml to
those versions so the CVE fixes are applied (optionally bump tmp to 0.2.7 for
the latest stable release).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pnpm-workspace.yaml`:
- Line 98: The CVE mapping for axios@1.16.0 is incorrect: only CVE-2026-44494
and CVE-2026-44492 are supported as fixed in 1.16.0, while CVE-2026-44490 and
CVE-2026-44489 are not backed by sources for 1.16.0—either update the PR’s
CVE-to-version mapping/justification to remove those two CVEs for "axios:
1.16.0" or bump axios to the latest stable (1.16.1) and document that bump; also
verify that "ws: 8.20.1" remains listed with CVE-2026-45736 noted as fixed.
Ensure the change references the exact entries "axios: 1.16.0" and "ws: 8.20.1"
in the workspace manifest so reviewers can validate the updates.

---

Nitpick comments:
In `@pnpm-workspace.yaml`:
- Line 202: Update the pnpm workspace overrides to pin the vulnerable packages
to the fixed versions: set brace-expansion to 5.0.6, qs to 6.15.2, and tmp to at
least 0.2.6 (preferably 0.2.7); modify the override entries named
"brace-expansion", "qs", and "tmp" in the pnpm-workspace.yaml to those versions
so the CVE fixes are applied (optionally bump tmp to 0.2.7 for the latest stable
release).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9639a006-5253-4b47-a150-a7fe34f0d4c8

📥 Commits

Reviewing files that changed from the base of the PR and between e388cb9 and 63d2cb6.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • pnpm-workspace.yaml

Comment thread pnpm-workspace.yaml
"ast-types": "0.14.2"
"autoprefixer": "^10.4.19"
"axios": "1.15.2"
"axios": "1.16.0"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

Do CVE-2026-44494, CVE-2026-44492, CVE-2026-44490, and CVE-2026-44489 exist for axios, and does axios version 1.16.0 fix them?

💡 Result:

Yes—these CVEs are associated with axios, and axios 1.16.0 fixes at least some of them. However, I can only confidently confirm fixes for CVE-2026-44494 and CVE-2026-44492 from authoritative axios/GHSA-advisory style sources; for CVE-2026-44490 and CVE-2026-44489 I did not find authoritative axios vendor statements in the sources retrieved. CVE-2026-44494: Exists for axios; fixed in axios 1.16.0. The axios security advisory for “Full Man-in-the-Middle via Prototype Pollution Gadget in config.proxy” (CVE-2026-44494) states the affected versions include all versions up to (and including) 1.15.0 and that it is associated with axios prototype-pollution proxy handling. It also notes that header sanitization patch in v1.15.0 does not address this vector, implying the fix comes later (in 1.16.0). [1] Additionally, an issue referencing the same set of CVEs explicitly states “Affected versions: >= 1.0.0, < 1.16.0” and “Patched in: 1.16.0” for CVE-2026-44494. [2] CVE-2026-44492: Exists for axios; fixed in axios 1.16.0. Tenable’s CVE entry describes CVE-2026-44492 as a NO_PROXY bypass condition involving axios shouldBypassProxy and published date in late May 2026, indicating the vulnerability exists for axios. [3] The same “dependency upgrade request” issue states that CVE-2026-44492 is affected in versions “>=1.0.0, <1.16.0” and “Patched in: 1.16.0.” [2] CVE-2026-44490: Exists for axios? Not confirmed in the sources retrieved. I found a Tenable entry for CVE-2026-44490 that attributes the vulnerability to axios (“axios has DoS & Header Injection via Prototype Pollution Read-Side Gadgets in axios merge functions”). [4] But in the sources retrieved, I did not find an authoritative statement from axios (or an axios GHSA advisory) explicitly stating that axios 1.16.0 fixes CVE-2026-44490. So I cannot confirm “1.16.0 fixes it” with high confidence based on what was retrieved. CVE-2026-44489: Exists for axios? Not confirmed in the sources retrieved. In the retrieved sources, I did not find an authoritative axios-related entry or advisory that explicitly ties CVE-2026-44489 to axios or states a fixed version. Practical recommendation If you are exposed to these CVEs, upgrading axios to 1.16.1 or later is the safest course based on the available axios vulnerability-fix signal and Snyk’s “no direct vulnerabilities in latest version (1.16.1).” [5]

Citations:


🌐 Web query:

Does CVE-2026-45736 exist for ws (WebSocket library), and does ws version 8.20.1 fix it?

💡 Result:

Yes, CVE-2026-45736 is a valid vulnerability that affects the ws WebSocket library for Node.js [1][2]. The vulnerability is an uninitialized memory disclosure flaw (CWE-908) located in the websocket.close implementation [1][2][3]. It occurs when a TypedArray (such as a Float32Array or Uint8Array) is passed as the reason argument to the close method, causing the library to potentially leak uninitialized memory to a remote peer [1][2][4]. Ws version 8.20.1 specifically fixes this vulnerability [1][2][5]. It is recommended that users of the ws library upgrade to version 8.20.1 or higher to mitigate this risk [6][3][4].

Citations:


🌐 Web query:

What are the latest stable versions of axios and ws npm packages?

💡 Result:

As of June 1, 2026, the latest stable versions of these packages on the npm registry are as follows: * axios: 1.16.1 [1][2][3] * ws: 8.21.0 [4][5][6] These versions represent the latest releases verified via the official npm registry and GitHub repositories as of May 2026 [7][3][4][8]. Users should always verify dependencies to avoid malicious packages, as there have been reports of unauthorized versions being published to the npm registry in the past [9][10].

Citations:


CVE claims need adjustment: axios 1.16.0 doesn’t have full support for all listed fixes (pnpm-workspace.yaml: axios@1.16.0, ws@8.20.1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pnpm-workspace.yaml` at line 98, The CVE mapping for axios@1.16.0 is
incorrect: only CVE-2026-44494 and CVE-2026-44492 are supported as fixed in
1.16.0, while CVE-2026-44490 and CVE-2026-44489 are not backed by sources for
1.16.0—either update the PR’s CVE-to-version mapping/justification to remove
those two CVEs for "axios: 1.16.0" or bump axios to the latest stable (1.16.1)
and document that bump; also verify that "ws: 8.20.1" remains listed with
CVE-2026-45736 noted as fixed. Ensure the change references the exact entries
"axios: 1.16.0" and "ws: 8.20.1" in the workspace manifest so reviewers can
validate the updates.

axios 1.16.0 newly exposes `create` as a named export, so oxlint's
import/no-named-as-default-member rule now flags `axios.create(...)`.
That added one warning to @plane/services (7 > its --max-warnings=6
baseline) and to apps/web and apps/live, failing check:lint — surfaced
on this PR because the lockfile change busts Turbo's lint cache.

Switch the three `axios.create(...)` call sites to a named `{ create }`
import. `create` is a real value+type export in axios 1.16.0 (verified
via tsc). isCancel/CancelToken are left as `axios.*`: CancelToken is
only a type export (cannot be a value import under verbatimModuleSyntax)
and both were already counted within the existing baselines.

Verified locally: full `pnpm check:lint` (16/16) and `check:types`
(15/15) pass.
@sriramveeraghanta sriramveeraghanta merged commit 7ec8d49 into preview Jun 1, 2026
13 checks passed
@sriramveeraghanta sriramveeraghanta deleted the fix/dependabot-npm-advisories branch June 1, 2026 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants