Skip to content

Bump dependencies to resolve security advisories#161

Merged
sauravpanda merged 1 commit into
mainfrom
fix/dependency-cves
Jul 12, 2026
Merged

Bump dependencies to resolve security advisories#161
sauravpanda merged 1 commit into
mainfrom
fix/dependency-cves

Conversation

@sauravpanda

@sauravpanda sauravpanda commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Resolves three flagged dependency security advisories.

Package Ecosystem Before After Advisory
fastmcp pip 2.5.2 3.4.0 CVE-2026-32871 (< 3.2.0)
authlib pip (transitive via browser-use) 1.6.4 1.7.2 CVE-2026-27962 (<= 1.6.8)
shell-quote npm (transitive via wxt → web-ext-run → fx-runner) 1.7.3 1.10.0 CVE-2026-9277 (>= 1.1.0, <= 1.8.3)

Changes

workflows/pyproject.toml

  • fastmcp 2.5.2 → 3.4.0. Fixed in >= 3.2.0. Pinned to 3.4.0 rather than the latest 3.4.4 because fastmcp >= 3.4.2 requires starlette >= 1.0.1, which conflicts with the pinned fastapi==0.115.12 (starlette < 0.47.0). 3.4.0 keeps fastapi/starlette untouched.
  • uvicorn 0.34.2 → 0.35.0. Required by fastmcp 3.x (uvicorn >= 0.35).
  • Added a [tool.uv] constraint-dependencies floor of authlib>=1.6.9 to lift the transitive authlib above the vulnerable range (resolves to 1.7.2).

workflows/workflow_use/mcp/service.py

  • fastmcp 3.x removed the server-level description kwarg from the FastMCP() constructor (2.x silently ignored it) and renamed it to instructions. Updated the single call site accordingly. The .tool(name=, description=) decorator and .run() are unchanged.

extension/package.json

  • Added an overrides entry pinning shell-quote to 1.10.0 to lift the deep transitive dependency above the vulnerable range.

Lockfiles (workflows/uv.lock, extension/package-lock.json) regenerated.

Verification

  • uv lock + uv sync resolve cleanly; fastapi 0.115.12 / starlette 0.46.2 unchanged.
  • Imported workflow_use.mcp.service against fastmcp==3.4.0 and constructed the server via get_mcp_server()FastMCP(name=, instructions=), the dynamic-signature .tool() registration path, and .run() all work.
  • ruff check and ruff format --check pass on the changed file.
  • npm installnpm ls shell-quote shows a single shell-quote@1.10.0 overridden; no nested vulnerable copy.
  • Confirmed resolved versions: fastmcp 3.4.0, authlib 1.7.2, uvicorn 0.35.0, shell-quote 1.10.0.

Summary by cubic

Resolves dependency CVEs by upgrading fastmcp, lifting transitive authlib, and overriding transitive shell-quote. Includes a small API update for the fastmcp 3.x rename.

  • Dependencies

    • fastmcp 2.5.2 → 3.4.0 (fixes CVE-2026-32871); pinned to 3.4.0 to keep fastapi==0.115.12/starlette<0.47 unchanged.
    • uvicorn 0.34.2 → 0.35.0 (required by fastmcp 3.x).
    • Add authlib>=1.6.9 uv constraint to lift transitive via browser-use (fixes CVE-2026-27962); resolves to 1.7.2.
    • Add shell-quote override to 1.10.0 in extension/package.json to lift transitive via wxtweb-ext-runfx-runner (fixes CVE-2026-9277).
  • Migration

    • FastMCP(name=, description=) → use instructions=; updated in workflows/workflow_use/mcp/service.py. No other changes needed.

Written for commit c50323c. Summary will update on new commits.

Review in cubic

Resolves three flagged CVEs:

- fastmcp 2.5.2 -> 3.4.0 (CVE-2026-32871, fixed in >= 3.2.0). The 3.x
  release renamed the server-level `description` kwarg to `instructions`,
  so update workflow_use/mcp/service.py accordingly. fastmcp 3.x also
  requires uvicorn >= 0.35, so bump uvicorn 0.34.2 -> 0.35.0. Pinned to
  3.4.0 (not 3.4.4) to stay on starlette < 0.47 for fastapi 0.115.12.
- authlib (transitive via browser-use): add a uv constraint of >= 1.6.9
  (CVE-2026-27962, affects <= 1.6.8); resolves to 1.7.2.
- shell-quote (transitive via wxt -> web-ext-run -> fx-runner): add an
  npm override to 1.10.0 (CVE-2026-9277, affects <= 1.8.3).
Copilot AI review requested due to automatic review settings July 12, 2026 02:19

@cubic-dev-ai cubic-dev-ai Bot left a comment

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.

No issues found across 5 files

Re-trigger cubic

Copilot AI left a comment

Copy link
Copy Markdown

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 updates the workflow service’s Python and extension’s Node dependency trees to remediate three reported security advisories, while keeping the existing FastAPI/Starlette pins intact.

Changes:

  • Bumped fastmcp to 3.4.0 and uvicorn to 0.35.0, with a small API adjustment in the MCP server construction.
  • Added a uv constraint (authlib>=1.6.9) to force a safe transitive authlib version.
  • Pinned a deep transitive npm dependency by adding an override for shell-quote@1.10.0 and regenerating lockfiles.

Reviewed changes

Copilot reviewed 3 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
workflows/workflow_use/mcp/service.py Updates FastMCP(...) construction to use instructions= for fastmcp 3.x compatibility.
workflows/pyproject.toml Bumps Python deps (fastmcp, uvicorn) and adds uv constraint for transitive authlib.
workflows/uv.lock Regenerated uv lockfile reflecting the new pins and constraint resolution.
extension/package.json Adds npm overrides to pin shell-quote to a non-vulnerable version.
extension/package-lock.json Regenerated npm lockfile reflecting the override/pin.
Files not reviewed (1)
  • extension/package-lock.json: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sauravpanda
sauravpanda merged commit d283fe6 into main Jul 12, 2026
10 checks passed
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.

2 participants