Skip to content

fix(deps): Audit for release#599

Merged
corinagum merged 1 commit into
mainfrom
cg/audit-deps-ts
May 27, 2026
Merged

fix(deps): Audit for release#599
corinagum merged 1 commit into
mainfrom
cg/audit-deps-ts

Conversation

@corinagum

Copy link
Copy Markdown
Collaborator

Summary

Lockfile-only bumps via npm audit fix (no --force). Closes all high-severity advisories.

Before: 20 prod vulns (2 high, 14 moderate, 4 low)
After: 13 prod vulns (0 high, 9 moderate, 4 low)

What got bumped

Package From → To Severity cleared
axios 1.13.5 → 1.16.1 high — 15 advisories (SSRF via NO_PROXY bypass, prototype pollution in validateStatus / parseReviver / withXSRFToken / form-data, CRLF injection in multipart, null byte injection, unbounded recursion DoS)
fast-uri 3.1.0 → 3.1.2 high
ws 8.19.0 → 8.21.0 moderate (uninitialized memory disclosure)
@azure/msal-node added 5.2.2 (hoisted; older copies stay under botbuilder) moderate (uuid transitive)
uuid 11.1.0 → 11.1.1 moderate
@azure/identity 4.13.0 → 4.13.1 moderate
express-rate-limit 8.3.1 → 8.5.2 moderate (via ip-address)
ip-address 10.1.0 → 10.2.0 moderate
brace-expansion 5.0.5 → 5.0.6, 2.0.2 → 2.1.1 moderate
browserify-sign 4.2.5 → 4.2.6 low (elliptic)
picomatch 2.3.1 → 2.3.2
proxy-from-env 1.1.0 → 2.1.0

What's NOT addressed

13 advisories remain, all in the Bot Framework SDK transitive chain via packages/botbuilder (which pins [email protected]):

  • botbuilder, botbuilder-core, botframework-connector, botframework-schema, botframework-streaming
  • @azure/core-http, nested @azure/msal-node (under botbuilder/botframework-connector), uuid (transitive)
  • restify (direct dep of botframework)
  • elliptic, crypto-browserify, browserify-sign, create-ecdh (low-severity cryptography chain via botbuilder)

npm audit fix's suggested resolution is [email protected], which is older than our pinned 4.23.1 and would lose features. Declining. Same shape as teams.py's jsonpickle situation — Bot Framework SDK is archived and pins old transitives.

Test plan

  • npm run build — all 33 targets clean
  • npm test — all 14 targets, 279+ unit tests pass
  • E2E smoke test — echo bot against cg-test-bot-py via canary ABS:

Copilot AI review requested due to automatic review settings May 27, 2026 22:44

Copilot AI 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.

Copilot wasn't able to review any files in this pull request.


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

@corinagum corinagum changed the title fix(deps): npm audit fix — clear 2 high + 5 mod/low advisories fix(deps): Audit for release May 27, 2026
@corinagum
corinagum merged commit 8c244ea into main May 27, 2026
5 of 6 checks passed
@corinagum
corinagum deleted the cg/audit-deps-ts branch May 27, 2026 22:50
corinagum added a commit that referenced this pull request May 27, 2026
## Summary

Brings `origin/main` into `release` for the **2.0.12** release. **No
carve-outs this time** — Quoted Replies is included.

`version.json`: `2.0.12-preview.{height}` → `2.0.12`.

Aligns with teams.py 2.0.12 (PR #442 already on PyPI / pending publish).

## What's in this release (delta from 2.0.11)

**Features**
- Quoted Replies + new quotes features — previously held back via the
2.0.11 carve-out (#576)
- SuggestedActionSubmitActivity for `suggestedAction/submit` invoke
(#591)
- Default targeted replies for targeted inbound messages (#592)
- Filter colliding keys before `Object.assign` in `ActivityContext`
(#596)
- Prompt Preview support (#536)
- A2A sample (#584)
- AI/MCPClient (#572)
- Allow passing custom HTTP client via `AppOptions`-equivalent
- Reactions API marked GA (#575), Rename `ReactionClient.remove()` →
`delete()` (#567)

**Security & fixes**
- Security hardening: tighten cross-origin policies (#595)
- Lock JsonWebToken trust-boundary contract (#586)
- `fix(deps)`: npm audit fix — clears all high-severity advisories
(#599)
- `fix(apps)`: log inbound activities at info, warn on missing
Authorization (#568)
- `fix`: App user-agent merging (#573)
- `fix`: Add null checks in `local-memory.ts` to prevent role crash
(#438)
- `fix`: `@microsoft/teams.client` import error in webpack 5 (#566)
- Switch to named imports without subpaths (#561)

**Deprecations / package changes**
- Deprecate `DevtoolsPlugin` in favor of Microsoft 365 Agents Playground
(#593)
- Remove in-repo Teams CLI package (#580) — moved to
`teams-sdk/packages/cli`
- Deprecate AI Libraries (#588)
- Correct imports + return types in misc. packages (#589)

**Dependency bumps**
- turbo 2.8.11 → 2.9.14 (#587)
- qs 6.15.0 → 6.15.2 (#594)
- hono 4.12.14 → 4.12.16 (#562)
- npm audit fix bundle (#599): axios 1.13.5 → 1.16.1, fast-uri 3.1.0 →
3.1.2, ws 8.19.0 → 8.21.0, @azure/msal-node hoisted 5.2.2, uuid 11.1.0 →
11.1.1, @azure/identity 4.13.0 → 4.13.1, express-rate-limit, ip-address,
brace-expansion, etc.

## Quoted Replies inclusion notes

- Teams client rendering is in-sync with the wire format as of
2026-05-06.
- APX QR rollout completed: Public 2026-04-10, GCCH/DoD/Gallatin
2026-04-14.
- No SDK-side carve-outs needed; this matches the teams.py 2.0.12 (PR
#442) decision.

## Branch structure note

`prep-release/2.0.12` is reset to `origin/main` + a one-line
`version.json` bump. Diff against `release` (this PR) shows the full
delta from 2.0.11. We deliberately did not use a 2-parent merge commit —
the auto-merge tried to interleave non-overlapping hunks from main's QR
additions with release's QR carve-outs in `activity.ts`, producing a
semantically broken file. Reset-to-main + version bump is the clean way
to express "release should equal main."

## Test plan

- [x] `npm install` clean (post-audit-fix lockfile)
- [x] `npm run build` — 33/33 targets clean
- [x] `npm test` — 14/14 task targets, 279+ tests pass
- [x] E2E echo bot smoke test against `cg-test-bot-py` via canary ABS —
done on `cg/audit-deps-ts` (now merged); covers axios + msal-node code
paths
- [ ] Pipeline Build + Test stages green on `release` after merge
- [ ] Publish pipeline run with **Public** → ESRP → npm
`@microsoft/teams.*@2.0.12`
- [ ] Smoke install: `npm view @microsoft/teams[email protected]` after
publish
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