Skip to content

fix(deps): bump h2, rtrb and chacha20 in the desktop lockfile - #28

Open
QuicksilverSlick wants to merge 1 commit into
mainfrom
fix/desktop-rustsec
Open

QuicksilverSlick wants to merge 1 commit into
mainfrom
fix/desktop-rustsec

Conversation

@QuicksilverSlick

Copy link
Copy Markdown
Owner

Summary

CI's Security job runs cargo-deny check against the root lockfile only. The desktop Tauri workspace (desktop/src-tauri, its own Cargo.lock) is never checked. Running cargo-deny 0.19.0 on it found two vulnerabilities and a yanked crate. This PR fixes all three with patch bumps. The PR changes only the lockfile.

Advisory Crate Path into desktop Bump
RUSTSEC-2026-0258 (unbounded empty DATA frames) h2 hyper / reqwest, used by axum, buzz-agent and tauri-plugin-updater 0.4.15 → 0.4.16 (same version as the root lockfile)
RUSTSEC-2026-0274 (double free in ReadChunk::commit when an element's Drop panics) rtrb rodio → buzz-desktop 0.3.4 → 0.3.5 (0.3.x backport)
yanked chacha20 rand 0.10.2 0.10.1 → 0.10.2

Upstream block/buzz has not bumped any of these in its desktop lockfile yet, so there is nothing to cherry-pick.

Not in this PR: RUSTSEC-2026-0285 (rustls). #27 already bumps it in both lockfiles, and this PR stays out of its way. Once both PRs merge, the desktop workspace has no vulnerability findings left.

Lockfile note: cargo update -p h2 --precise 0.4.16 also re-picked windows-sys versions for about 15 unrelated crates. To keep the diff to the three packages, I copied the h2 version and checksum in by hand. h2 0.4.16 has the same dependency list as 0.4.15, and its checksum matches the root Cargo.lock. rtrb and chacha20 went through cargo update --precise without any extra changes.

Unmaintained advisories (triage only, no fix available)

ID Crate Pulled in by Notes
RUSTSEC-2026-0150 audiopus_sys 0.2.2 opus = "0.3" (direct; huddle jitter buffer decoder) The only one we depend on directly. The fix would be switching Opus bindings.
RUSTSEC-2020-0168 mach 0.1.2 / 0.3.2 user-idle 0.6.0 (direct; macOS idle detection) Fix would be replacing or updating user-idle
RUSTSEC-2024-0370 proc-macro-error 1.0.4 glib-macros 0.18 → gtk 0.18 → tray-icon → tauri (Linux) Tauri has to update its GTK stack
RUSTSEC-2025-0075/0080/0081/0098/0100 unic-* 0.9.0 urlpattern 0.3 → tauri-utils → tauri / tauri-build Tauri has to fix this

Related issue

Follows up the desktop findings noted while fixing RUSTSEC-2026-0285 (#27). No existing issue found.

Testing

  • cargo-deny --manifest-path desktop/src-tauri/Cargo.toml check advisories: before, 3 vulnerabilities, 8 unmaintained and 1 yanked. After, only rustls (fix(deps): bump rustls to 0.23.45 for RUSTSEC-2026-0285 #27) and the 8 unmaintained remain.
  • Full check on the desktop workspace: bans, licenses and sources all pass.
  • cargo metadata --locked, cargo fetch --locked, and cargo check --locked -p h2 -p rtrb -p chacha20@0.10.2 -p rand@0.10.2 -p rodio -p hyper -p reqwest@0.13.4 pass on Windows (Rust 1.95.0).

🤖 Generated with Claude Code

cargo-deny on desktop/src-tauri (not covered by CI's Security job) reports:
- RUSTSEC-2026-0258: h2 0.4.15 accepts unbounded empty DATA frames.
  Bump to 0.4.16, the version the root lockfile already uses.
- RUSTSEC-2026-0274: rtrb 0.3.4 double free in ReadChunk::commit when an
  element's Drop panics (via rodio). Bump to the 0.3.5 backport.
- chacha20 0.10.1 is yanked (via rand 0.10.2). Bump to 0.10.2.

Only the three package entries change. `cargo update -p h2` also
re-picked windows-sys for ~15 unrelated crates, so the h2 entry was
applied by hand; h2 0.4.16 has the same dependency list as 0.4.15, the
checksum matches the root lockfile, and `cargo metadata --locked` and
`cargo fetch --locked` accept the result.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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