fix(security): bump dependencies with critical advisories#7
Merged
Conversation
Update transitive dependencies flagged with critical severity CVEs to their patched versions across the Rush pnpm lockfiles and the stream Go module. npm (pnpm lockfiles): - handlebars 4.7.8 -> 4.7.9 — JavaScript Injection via AST Type Confusion (GHSA-2w6w-674q-4c4q, GHSA-3mfm-83xf-c92r, GHSA-xhpv-hc6g-r9c6) - protobufjs 7.5.4 -> 7.5.5 — Arbitrary code execution (GHSA-xq3m-2v4x-88gg) - shell-quote 1.8.3 -> 1.8.4 — command injection via unescaped newlines in object .op values (GHSA-w7jw-789q-3m8p) - fast-xml-parser 4.5.3 -> 4.5.4 and 5.2.5 -> 5.3.5 — entity encoding bypass via regex injection in DOCTYPE entity names (GHSA-m7jm-9gc2-mpf2); pulls strnum 2.1.1 -> 2.1.2 to satisfy the new range - basic-ftp 5.0.5 -> 5.2.0 — path traversal in downloadToDir (GHSA-5rq4-664w-9x2c) Go (foundations/stream): - google.golang.org/grpc 1.75.0 -> 1.79.3 — authorization bypass via missing leading slash in :path (GHSA-p77j-4mvh-x3m3) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CA7TL9tYGMdVVsgqVups1A
ArtyomSavchenko
marked this pull request as draft
July 10, 2026 07:00
ArtyomSavchenko
marked this pull request as ready for review
July 10, 2026 13:46
ArtyomSavchenko
requested review from
BykhovDenis,
aonnikov,
haiodo and
kristina-fefelova
July 10, 2026 13:46
haiodo
approved these changes
Jul 10, 2026
ArtyomSavchenko
pushed a commit
that referenced
this pull request
Jul 21, 2026
Follow-up review fixes for the office/video port: - #5 guest-join room access (services/love guests.ts, workspaceClient.ts): enforce the room's live access server-side. A host who set the room to DND (locked) is no longer joinable via a previously shared guest link. Added WorkspaceClient.findRoomById and check the Room (not the meeting's creation-time snapshot). Knock rooms stay allowed — the shared link is the host's authorization. - #7 guest-info polling (GuestMeetingApp.svelte): fetch /guestInfo once per guest-token change instead of on every 1s tick, which POSTed the love service every second and re-ran workspace select/navigate each time. Also fixed the dead 'resolving' flag so the loading state and in-flight guard actually work. - #8 invite state machine (invites.ts, meetings.ts): * incoming invites now require status==='pending', so accepted/declined invites stop showing the button and knock sound during their TTL * knock-sound stop is guarded by incoming.length===0 (was inverted: stopped the sound while an invite was still pending) * connectToMeeting resets currentMeeting/currentMeetingRoom on any failure (connect error or unresolved person) so the guard no longer permanently blocks retry Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BZnVtCWH1hTH7EisaBdT7T
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Updates transitive dependencies flagged with critical severity CVEs to their patched versions, across the six Rush pnpm lockfiles and the
foundations/streamGo module.Fixed versions
.opvalues (GHSA-w7jw-789q-3m8p)downloadToDir()(GHSA-5rq4-664w-9x2c):path(GHSA-p77j-4mvh-x3m3)Files changed
common/config/rush,foundations/{server,net,communication,core,utils}/common/config/rushfoundations/stream/go.mod+go.sumApproach
All affected npm packages are transitive dependencies in Rush-managed lockfiles. The changes were applied as surgical lockfile edits — only the vulnerable package keys, integrity hashes, and internal references change — rather than a full
rush update. This keeps the diff minimal (68 balanced insertions/deletions) and avoids unrelated churn.Two reasons
rush updatewas not used to regenerate the lockfiles:@hcengineering/platform-rig) with theworkspace:protocol while the committed lockfiles resolve them from the registry — a pre-existing mismatch unrelated to this change.typescriptpatch bumps) outside the scope of the security fix.The
fast-xml-parser5.3.5 bump also nudges itsstrnumdependency 2.1.1 → 2.1.2 to satisfy the new^2.1.2range. Integrity hashes were taken from the npm registry.For the Go module,
go get google.golang.org/grpc@v1.79.3+go mod tidypulled the minimal required transitive updates (genproto, x/net, protobuf, otel).Verification
packages:andsnapshots:entries (graph is internally consistent).go build ./...passes andgo mod verifyreports all modules verified.🤖 Generated with Claude Code
Generated by Claude Code