Skip to content

Rust dependencies carry three advisories that CI does not report #738

Closed

Description

@thcp

What goes wrong

The desktop shell's Cargo.lock resolves three crate versions with published advisories. CI does not report them, because its trivy scan only fails on HIGH and CRITICAL findings it can match, and none of these surfaced there. cargo audit (RustSec) reports all three.

Advisory Crate Locked Fixed in Reached through
RUSTSEC-2026-0285 rustls 0.23.40 >= 0.23.45 reqwest: the app's downloads and the updater, at runtime
RUSTSEC-2026-0194 quick-xml 0.39.3 >= 0.41.0 plist via tauri-utils / tauri-build
RUSTSEC-2026-0195 quick-xml 0.39.3 >= 0.41.0 same

The rustls advisory is the one that reaches users: TLS 1.3 handshake messages accepted across encryption level boundaries, on the connections the desktop app makes. The quick-xml ones are denial-of-service bugs in XML parsing, and here quick-xml only parses StemDeck's own plist and config files.

cargo audit also reports 6 unmaintained, 2 unsound and 1 yanked crate, all as warnings.

Constraints

  • rustls should move with cargo update -p rustls, but quick-xml 0.41 is a semver-incompatible bump that has to come through a plist / Tauri release.
  • Updating Cargo.lock does not touch uv.lock, so the in-app update path is unaffected.

Activity

  1. added
    bugSomething isn't working
    securitySecurity vulnerability or hardening
    on Oct 1, 2026
  2. added a commit that references this issue on Oct 1, 2026
    094e0a9
  3. added a commit that references this issue on Oct 2, 2026
    939d66e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsecuritySecurity vulnerability or hardening

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions