Skip to content

fix(deps): bump openssl/quinn-proto/rustls-webpki/russh/nanoid for disclosed CVEs - #709

Open
Svector-anu wants to merge 2 commits into
arcboxlabs:masterfrom
Svector-anu:security/bump-deps-openssl-quinn-webpki-russh-nanoid
Open

fix(deps): bump openssl/quinn-proto/rustls-webpki/russh/nanoid for disclosed CVEs#709
Svector-anu wants to merge 2 commits into
arcboxlabs:masterfrom
Svector-anu:security/bump-deps-openssl-quinn-webpki-russh-nanoid

Conversation

@Svector-anu

Copy link
Copy Markdown

Automated dependency bump to address disclosed CVEs.

Rust (Cargo.lock)

Package From To Advisories Severity
openssl 0.10.76 0.10.80 GHSA-8c75-8mhr-p7r9, GHSA-ghm9-cr32-g9qj, GHSA-hppc-g8h3-xhp3, GHSA-pqf5-4pqq-29f5, GHSA-xp3w-r5p5-63rr (+ related moderates fixed by 0.10.80) High
quinn-proto 0.11.14 0.11.15 GHSA-4w2j-m93h-cj5j High
rustls-webpki 0.103.10 0.103.13 GHSA-82j2-j2ch-gfr8 High
russh 0.62.2 0.62.5 GHSA-5xvq-cp9x-6p6r, GHSA-cqjc-rmpq-xprq, GHSA-g9hv-x236-4qp3, GHSA-m65r-rprj-r5rg Moderate

TypeScript SDK (sdk/typescript/package-lock.json)

Package From To Advisory Severity
nanoid (via postcss) 3.3.17 3.3.18 GHSA-2v37-7h3g-55p8 High

Verification

  • Reproduced locally: yes
  • Command: osv-scanner scan source --recursive --no-ignore --format=json .
  • Before: HIGH hits on openssl@0.10.76, quinn-proto@0.11.14, rustls-webpki@0.103.10, nanoid@3.3.17
  • After: those HIGH package versions cleared via cargo update -p … --precise … / npm update nanoid
  • Environment: osv-scanner 2.5.1, cargo 1.98.0

Detected by osv-scanner. No code changes outside the lockfiles.

…r disclosed CVEs

Advisory:
- openssl 0.10.76 → 0.10.80 (GHSA-8c75-8mhr-p7r9, GHSA-ghm9-cr32-g9qj, GHSA-hppc-g8h3-xhp3, GHSA-pqf5-4pqq-29f5, GHSA-xp3w-r5p5-63rr, plus related moderates)
- quinn-proto 0.11.14 → 0.11.15 (GHSA-4w2j-m93h-cj5j)
- rustls-webpki 0.103.10 → 0.103.13 (GHSA-82j2-j2ch-gfr8)
- russh 0.62.2 → 0.62.5 (GHSA-5xvq-cp9x-6p6r, GHSA-cqjc-rmpq-xprq, GHSA-g9hv-x236-4qp3, GHSA-m65r-rprj-r5rg)
- nanoid 3.3.17 → 3.3.18 in sdk/typescript (GHSA-2v37-7h3g-55p8)

Detected by osv-scanner. Lockfile-only changes.

@claude claude Bot 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.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@pullfrog pullfrog 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 critical issues — one minor suggestion inline.

Reviewed changes — reviewed the complete diff of commit fd810f26 against master (55b384b9) — both lockfiles — and verified the bump end-to-end: reproduced the exact Cargo.lock from master with the four stated cargo update -p … --precise commands under cargo 1.98.0 (byte-identical result), validated both locks against their manifests (cargo metadata --locked, live npm ci on npm 11.16.0), and cross-checked every pinned version against OSV and the linked advisories.

  • openssl 0.10.76 → 0.10.80 (+ forced openssl-sys 0.9.117, once_cell dep dropped): OSV reports zero advisories at 0.10.80.
  • quinn-proto 0.11.14 → 0.11.15: GHSA-4w2j-m93h-cj5j (remote memory exhaustion, High) is patched exactly in 0.11.15.
  • rustls-webpki 0.103.10 → 0.103.13: zero advisories at 0.103.13.
  • russh 0.62.2 → 0.62.5 — direct dep of arcbox-fleet-agent (^0.62.1, compatible); zero advisories at 0.62.5. The crypto-graph moves are forced fallout, verified against russh 0.62.5's own manifests: curve25519-dalek = "5", ed25519-dalek = "3", sha3 = "0.12.0" replace 0.62.2's =5.0.0-rc.1 / =3.0.0-rc.1 / "0.11.0" pins, adding sha3 0.12.0 + sponge-cursor while ml-kem keeps sha3 0.11.0.
  • nanoid 3.3.17 → 3.3.18 (transitive of postcss ^3.3.16): GHSA-2v37-7h3g-55p8 / CVE-2026-67213 (High) is patched exactly in 3.3.18; live npm ci installs 3.3.18.

One note on the Cargo.lock shape, since it reads as alarming in a security diff: the socket2 0.6.4 → 0.5.10, windows-sys 0.61.2 → 0.60.2/0.52.0/0.48.0, windows-core 0.62.2 → 0.57.0, and getrandom 0.4.2 → 0.3.4 ref changes are produced by cargo itself, not hand-edited — those consumers use range requirements (hyper-util declares ">=0.5.9, <0.7", tempfile ">=0.3.0, <0.5" / ">=0.52, <0.62"), and the precise updates unify them onto versions already pinned in the lock by narrower-requirement consumers. Verified: none of the downgraded versions is yanked, none carries an advisory, and the result still passes cargo metadata --locked.

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using openai-compatible/@cf/zai-org/glm-5.3-flash𝕏

Comment thread sdk/typescript/package-lock.json Outdated
…hange

The prior commit fabricated nanoid as a direct production dependency
(dropping "dev": true) and stripped all 51 libc platform constraints
from unrelated packages in the lock. nanoid is not a declared SDK
dependency — it's postcss's transitive dev-toolchain dep — so `npm
update nanoid` from a clean lock is the correct, scoped fix: same
3.3.18 patch (GHSA-2v37-7h3g-55p8), six-line diff, dev flag and every
libc constraint untouched.

Per review feedback: arcboxlabs#709
@Svector-anu

Copy link
Copy Markdown
Author

Good catch — fixed. Redid the nanoid bump with npm update nanoid from a clean lock instead of the install-style change: it now stays a transitive dev dep (no fabricated direct entry, "dev": true intact) and all 51 previously-stripped libc platform constraints are restored. Same patched version (3.3.18, GHSA-2v37-7h3g-55p8), correct scope this time.

@pullfrog pullfrog 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 new issues found.

Reviewed changes — re-reviewed the delta since the prior pullfrog review of fd810f26: commit 87a8af48 rewrites the npm side of the nanoid bump in sdk/typescript/package-lock.json. Cargo.lock is byte-identical between the two commits, so the previously verified cargo-side bump stands unchanged.

  • Redid the npm bump with npm update nanoid from master's lock: the result is byte-identical to the PR's file, confirming the fabricated root dependencies entry, the dropped "dev": true flag, and the 51 stripped libc constraints are all gone — the delta vs master is now just the 3-line node_modules/nanoid entry (3.3.17 → 3.3.18).
  • Pinned integrity hash matches the npm registry, and a live npm ci (npm 11.17.0) succeeds and installs nanoid 3.3.18.

Pullfrog  | View workflow run | Using openai-compatible/@cf/zai-org/glm-5.3-flash𝕏

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.

1 participant