Skip to content

fix(deps): resolve Component Governance and Dependabot alerts - #4399

Merged
microsoft-github-policy-service[bot] merged 3 commits into
mainfrom
user/jasonvmo/cg-fixes
Oct 27, 2026
Merged

microsoft-github-policy-service[bot] merged 3 commits into
mainfrom
user/jasonvmo/cg-fixes

Conversation

@JasonVMo

@JasonVMo Jason Morse (JasonVMo) commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Platforms Impacted

  • iOS
  • macOS
  • win32 (Office)
  • windows
  • android

No platform runtime code changes. This updates transitive development-tooling dependencies in yarn.lock and workspace metadata for the private Win32 test app.

Description of changes

Fixes the open security advisories for the dependency set that remains after the recent dependency removals. Every new version is at least 7 days old (npmMinimalAgeGate: 7d is unchanged) and was confirmed to be served by the Office feed.

Package Change Mechanism Advisories
fast-uri 3.1.8 → 3.1.9 root resolutions GHSA-w74x-v6f9-j3xg, GHSA-xhq7-xmqj-769h, GHSA-wjr9-j795-jxcr, GHSA-333x-w4r6-6crp
undici 7.29.1 → 7.30.1 root resolutions GHSA-xjj6-f33q-929c, GHSA-4qv8-2p9j-2685, GHSA-f72v-6w45-q472
launch-editor 2.14.1 → 2.14.2 root resolutions and yarn up -R GHSA-698v-4r3x-3vcv, GHSA-r825-w8mm-5pxw, GHSA-587h-7wmj-h5pm
basic-ftp 5.3.1 → 6.2.3 new narrow resolution basic-ftp@npm:^5.3.1 GHSA-c475-qrg2-pj4r
http-cache-semantics 4.2.0 → 4.3.0 yarn up -R (lockfile only) GHSA-ch52-4w7c-c8xp
qs 6.16.0 → 6.16.1 yarn up -R (lockfile only) GHSA-6pq8-jhm2-2vcw (published 2026-10-27)

Dependabot alerts fixed: 552, 553, 554, 560, 561, 562, 563, 564, 566, 568.

By file:

  • package.json: root resolutions for fast-uri, undici, launch-editor and the new basic-ftp entry. basic-ftp is only reached through get-uri (the markdown-link-check proxy-agent chain). The 6.x line rejects a PASV reply that names a different non-loopback host by default.
  • yarn.lock: regenerated by Yarn. Compared with main it adds exactly the six versions above and removes their six predecessors plus 20 stale duplicate resolutions (see the dedupe commit).
  • chore(deps): dedupe yarn.lock after dependency removals (separate commit, yarn.lock only): yarn dedupe --strategy highest collapses 31 duplicate candidates created by the dependency removals onto versions already in the lockfile. No new versions are introduced, and the commit can be dropped without affecting the fixes.
  • apps/win32/package.json: version 0.1.0 → 0.0.0 and "license": "MIT", to address the Component Governance legal-information alert for @fluentui-react-native/tester-win32@0.1.0 (that name and version also exist on public npm without license metadata). This is a best-effort fix; a Component Governance re-scan will confirm it.
  • .changeset/component-governance-alerts.md: empty changeset, since no published package changes.

Not fixed here:

  • body-parser (GHSA-27r3-jxmh-p828, Dependabot alerts 558 and 559): the fixed versions 1.20.9 and 2.4.0 were published 2026-10-22, so the 7-day age gate (also enforced by the Office feed) still blocks them until about 2026-10-29T11:39Z. Both copies come from @react-native-community/cli-server-api (development-server tooling). Follow-up: raise the body-parser@npm:^1.20.3 resolution to 1.20.9, then yarn up -R body-parser for 2.4.0.
  • http-cache-semantics (Dependabot alert 548): 4.3.0 is outside the advisory's affected range (<=4.2.0), but upstream lists no patched release and its max-stale handling is unchanged, so this clears version-based scanners without changing that behavior. The alert may stay open. It is reached only through make-fetch-happen's local HTTP cache.
  • Component Governance alerts for zod 4.3.5, ip-address 10.7.2, storybook 10.6.0, follow-redirects 1.16.0, undici 6.28.1 and extract-zip refer to versions that are no longer in yarn.lock and should clear on the next scan of main. The braces@3.0.3 alert maps to GHSA-vfj7-8cjw-p6xm, which was withdrawn with no fix.

Verification

Run on Windows against the final tree:

Command Result
yarn npm audit --all --recursive --json --no-deprecations Before: 15 advisories (basic-ftp, body-parser ×2, fast-uri ×4, http-cache-semantics, launch-editor ×3, qs, undici ×3). After: only body-parser ×2 (age-gated, see above).
yarn dedupe --check Passed.
yarn install --immutable --mode=skip-build Passed.
yarn change:check Passed.
yarn clean-lage-cache, then yarn lage buildci --continue --concurrency 4 175 tasks passed, 1 failed. check-package-contents reports spawnSync yarn ENOENT on Windows because scripts/src/tasks/checkPackageContentsTask.ts calls execFileSync('yarn') without a shell. That predates this PR; with a session-only preload that launches yarn.cmd, node ./scripts/src/cli.ts check-package-contents verified all 8 guided packages.
yarn test in packages/agentic/storybook-desktop 17 suites and 177 tests passed. At full Lage concurrency two timing-sensitive tests in this package timed out under load; they pass on their own and under --concurrency 4.

Manual checks:

  • Resolved-version diff of yarn.lock against main adds exactly the six versions above.
  • basic-ftp@6.2.3 through the real get-uri@8.0.1 FTP path against an in-process FTP server: MDTM download, MLSD fallback, 550 → not-found, and direct list and download results matched 5.3.1.
  • qs@6.16.1: parse output is unchanged, and the advisory's stringify input no longer throws.
  • Every new version returned HTTP 200 from the Office feed; body-parser@1.20.9 and 2.4.0 returned 404 (age-gated).
  • Hosted CI: all 18 checks pass. Test repo links was re-run once after transient HTTP 403 responses from Microsoft sites in markdown files this PR does not touch. Not run: a Component Governance re-scan and native builds.
Before After
yarn npm audit reports 15 advisories across 7 packages Reports 2 advisories (body-parser only, age-gated)

Pull request checklist

This PR has considered (when applicable):

  • Automated Tests
  • Documentation and examples
  • Keyboard Accessibility
  • Voiceover
  • Internationalization and Right-to-left Layouts

Documentation, accessibility and internationalization items do not apply to this dependency-only change.

Update transitive dependencies flagged by GitHub Dependabot, Component
Governance, and yarn npm audit after the recent dependency removals:

- basic-ftp 5.3.1 -> 6.2.3 via a narrow resolution (GHSA-c475-qrg2-pj4r)
- fast-uri 3.1.8 -> 3.1.9
- undici 7.29.1 -> 7.30.1
- launch-editor 2.14.1 -> 2.14.2
- http-cache-semantics 4.2.0 -> 4.3.0

Every new version satisfies the 7-day package age gate and is served by
the Office feed. body-parser (GHSA-27r3-jxmh-p828) stays on 1.20.8 and
2.3.0 until its fixed releases pass the gate.

Give the private tester-win32 workspace version 0.0.0 and an MIT license
so Component Governance stops matching it to the public 0.1.0 package,
which has no license metadata.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6f34858-06bf-4230-8be7-1f65402b208a
Run yarn dedupe --strategy highest so yarn dedupe --check is clean again.
The recent dependency removals left 31 descriptors that can share a
version already present in the lockfile. This only collapses onto
existing versions: no new package versions are added, and 20 stale
duplicate resolutions are removed (for example @babel/types 7.29.7,
acorn 8.15.0, ws 8.21.2, picomatch 4.0.5).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6f34858-06bf-4230-8be7-1f65402b208a
qs.stringify with arrayFormat 'comma' threw an uncaught TypeError on array elements with a non-callable own toString (>= 6.7.0, <= 6.16.0). The advisory was published 2026-10-27; 6.16.1 (published 2026-10-14) is past the 7-day age gate and satisfies both existing ranges (^6.15.2, ~6.16.0), so this is a lockfile-only update. qs is reached only through body-parser, which uses qs.parse.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b6f34858-06bf-4230-8be7-1f65402b208a
@JasonVMo Jason Morse (JasonVMo) added the Type: Dependencies Pull requests that update a dependency file label Oct 27, 2026
@microsoft-github-policy-service microsoft-github-policy-service Bot added the AutoMerge 🔁 Automatically merge when PR requirements met label Oct 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Bundle size report

Tree-shaken, minified production esbuild bundles with React and React Native runtimes externalized.

Scenario Modules-Mac (Δ) Modules-Win (Δ) Size-Mac (Δ) Size-Win (Δ)
components-button 64 (+0) 65 (+0) 50.63k (+0b) 50.55k (+0b)
components-catalog 214 (+0) 215 (+0) 205.49k (+0b) 205.41k (+0b)
design-theme-state 34 (+0) 35 (+0) 30.15k (+0b) 30.08k (+0b)
design-themed-root 38 (+0) 39 (+0) 32.12k (+0b) 32.04k (+0b)
design-color-lib 6 (+0) 6 (+0) 6.33k (+0b) 6.33k (+0b)
design-theme-state-legacy-source 35 (+0) 36 (+0) 31.81k (+0b) 31.73k (+0b)
design-legacy-theme-from-flex 58 (+0) 59 (+0) 97.77k (+0b) 97.63k (+0b)

The job is advisory: size changes are reported but do not fail the pull request. Bundle or analysis errors still fail.


View bundle-size workflow run

@microsoft-github-policy-service
microsoft-github-policy-service Bot merged commit beffe4b into main Oct 27, 2026
31 of 33 checks passed
@JasonVMo
Jason Morse (JasonVMo) deleted the user/jasonvmo/cg-fixes branch October 27, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AutoMerge 🔁 Automatically merge when PR requirements met Type: Dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants