fix(deps): bump openssl/quinn-proto/rustls-webpki/russh/nanoid for disclosed CVEs - #709
Conversation
…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.
There was a problem hiding this comment.
ℹ️ 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.
openssl0.10.76 → 0.10.80 (+ forcedopenssl-sys0.9.117,once_celldep dropped): OSV reports zero advisories at 0.10.80.quinn-proto0.11.14 → 0.11.15: GHSA-4w2j-m93h-cj5j (remote memory exhaustion, High) is patched exactly in 0.11.15.rustls-webpki0.103.10 → 0.103.13: zero advisories at 0.103.13.russh0.62.2 → 0.62.5 — direct dep ofarcbox-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, addingsha3 0.12.0+sponge-cursorwhileml-kemkeepssha3 0.11.0.nanoid3.3.17 → 3.3.18 (transitive ofpostcss ^3.3.16): GHSA-2v37-7h3g-55p8 / CVE-2026-67213 (High) is patched exactly in 3.3.18; livenpm ciinstalls 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.
openai-compatible/@cf/zai-org/glm-5.3-flash | 𝕏
…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
|
Good catch — fixed. Redid the nanoid bump with |
There was a problem hiding this comment.
✅ 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 nanoidfrom master's lock: the result is byte-identical to the PR's file, confirming the fabricated rootdependenciesentry, the dropped"dev": trueflag, and the 51 strippedlibcconstraints are all gone — the delta vs master is now just the 3-linenode_modules/nanoidentry (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.
openai-compatible/@cf/zai-org/glm-5.3-flash | 𝕏

Automated dependency bump to address disclosed CVEs.
Rust (
Cargo.lock)opensslquinn-protorustls-webpkirusshTypeScript SDK (
sdk/typescript/package-lock.json)nanoid(via postcss)Verification
osv-scanner scan source --recursive --no-ignore --format=json .cargo update -p … --precise …/npm update nanoidDetected by osv-scanner. No code changes outside the lockfiles.