Skip to content

fix(deps): bump tauri-winrt-notification to drop vulnerable quick-xml (closes #89) - #129

Merged
pmaxhogan merged 1 commit into
mainfrom
fix/quick-xml-rustsec-89
Jul 20, 2026
Merged

pmaxhogan merged 1 commit into
mainfrom
fix/quick-xml-rustsec-89

Conversation

@pmaxhogan

Copy link
Copy Markdown
Owner

Summary

Fixes #89. cargo deny check was ignoring two quick-xml DoS advisories
(RUSTSEC-2026-0194, RUSTSEC-2026-0195) against quick-xml 0.37.5, pulled in
via:

quick-xml 0.37.5 <- tauri-winrt-notification 0.7.2 <- notify-rust 4.18.0
    <- tauri-plugin-notification <- driven-app

No [patch.crates-io] override was needed. tauri-winrt-notification 0.7.3 was published to crates.io on 2026-07-02 and drops the quick-xml
dependency entirely (upstream: tauri-apps/winrt-notification#53, "Drop
quick-xml dependency"). 0.7.3 is semver-compatible with notify-rust's
existing ^0.7 requirement, so this is a plain cargo update -p tauri-winrt-notification lockfile bump - no [patch.crates-io] block, no
git-source pin, no code change. (The issue was filed assuming 0.7.2 was
notify-rust's latest available bump target and that a semver-major jump to
0.8.x, or an upstream notify-rust release, would be required - that's no
longer the case now that 0.7.3 exists.)

The other vulnerable copy noted in the issue (quick-xml 0.39.4 <- plist 1.9.0 <- tauri-utils) was already resolved on main prior to this PR via a
routine dependabot bump to plist 1.10.0 (quick-xml ^0.41).

cargo tree -i quick-xml

Before:

quick-xml v0.37.5
└── tauri-winrt-notification v0.7.2
    └── notify-rust v4.18.0
        └── tauri-plugin-notification v2.3.3
            └── driven-app v2.0.1

quick-xml v0.41.0
└── plist v1.10.0
    └── ... (tauri-utils, already fixed pre-PR)

After:

quick-xml v0.41.0
└── plist v1.10.0
    └── ... (tauri-utils)

The vulnerable quick-xml 0.37.5 copy is gone from the tree entirely; only
the already-fixed quick-xml 0.41.0 (>= the 0.41.0 threshold both
advisories are fixed in) remains.

Changes

  • Cargo.lock: tauri-winrt-notification 0.7.2 -> 0.7.3 (drops its
    quick-xml dependency; Cargo.toml is unchanged).
  • deny.toml: remove the now-unused RUSTSEC-2026-0194 /
    RUSTSEC-2026-0195 ignore entries and their justification comment.

Verification

  • cargo deny check: advisories ok, bans ok, licenses ok, sources ok.
  • cargo check --workspace: green (covers the Windows-only
    tauri-winrt-notification notification path on this Windows host).
  • cargo test -p driven-app --lib: 228 passed, 0 failed.

Test plan

  • cargo tree -i quick-xml shows no quick-xml < 0.41.0 in the tree
  • cargo deny check is green with the two RUSTSEC ignores removed
  • cargo check --workspace compiles clean
  • cargo test -p driven-app --lib passes

Closes #89

🤖 Generated with Claude Code

https://claude.ai/code/session_01QZQVP2tUuTLh8oL31D8heC

@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Coverage

Area main this PR delta
Rust (lib crates) 78.70% 78.70% +0.00 (OK)
UI (vue/ts) 88.58% 88.58% +0.00 (OK)

Gate: passed - no coverage regression (epsilon 0.1 pp).

@pmaxhogan pmaxhogan changed the title fix(deps): patch tauri-winrt-notification to drop vulnerable quick-xml (closes #89) fix(deps): bump tauri-winrt-notification to drop vulnerable quick-xml (closes #89) Jul 20, 2026
@pmaxhogan
pmaxhogan enabled auto-merge (squash) July 20, 2026 15:31
closes #89)

quick-xml 0.37.5, pulled in transitively via
quick-xml <- tauri-winrt-notification 0.7.2 <- notify-rust <-
tauri-plugin-notification <- driven-app, was vulnerable to
RUSTSEC-2026-0194 and RUSTSEC-2026-0195.

tauri-winrt-notification 0.7.3 (published on crates.io, semver-compatible
with notify-rust's existing ^0.7 requirement) dropped the quick-xml
dependency entirely (tauri-apps/winrt-notification#53), so a plain
`cargo update -p tauri-winrt-notification` removes the vulnerable copy
from the tree without any [patch.crates-io] override or code change.
The other vulnerable copy (via plist <- tauri-utils) was already resolved
on main via a routine dependabot bump to plist 1.10.0 (quick-xml 0.41.0).

Remove the two now-unused RUSTSEC-2026-0194 / RUSTSEC-2026-0195 ignores
from deny.toml.

Closes #89

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QZQVP2tUuTLh8oL31D8heC
@pmaxhogan
pmaxhogan force-pushed the fix/quick-xml-rustsec-89 branch from bbf0f59 to c0e0613 Compare July 20, 2026 17:18
@pmaxhogan
pmaxhogan merged commit 232fd8f into main Jul 20, 2026
18 checks passed
@pmaxhogan
pmaxhogan deleted the fix/quick-xml-rustsec-89 branch July 20, 2026 17:38
@github-project-automation github-project-automation Bot moved this from Todo to Done in Driven Jul 20, 2026
pmaxhogan added a commit that referenced this pull request Jul 24, 2026
🤖 I have created a release *beep* *boop*
---


## [2.1.0](v2.0.1...v2.1.0)
(2026-07-24)


### Features

* **core:** adaptive upload parallelism with throughput probe and
disk-saturation gate
([#143](#143))
([8ecced6](8ecced6))
* **core:** filesystem timestamp-granularity probe with ctime fallback
and per-directory gitignore cascade
([#141](#141))
([344262c](344262c))
* **drive:** support Google Shared Drive destinations end-to-end
([#142](#142))
([d9c3161](d9c3161))
* **net:** native OS reachability backends with automatic fallback
([#138](#138))
([319e85f](319e85f))
* **net:** SOCKS5 and PAC proxy support for all outbound connections
([#145](#145))
([2f0b7d1](2f0b7d1))
* **net:** support a custom corporate root CA for all outbound
connections ([#134](#134))
([929e93d](929e93d))
* per-source toggle to back up OneDrive cloud-only placeholder files
([#133](#133))
([6863ea3](6863ea3))
* **telemetry:** capture latency percentiles and add rollup query
endpoint ([#132](#132))
([4e9fde6](4e9fde6))
* **telemetry:** preview exactly what a telemetry ping sends
([#139](#139))
([95fbd9a](95fbd9a))


### Bug Fixes

* **core:** commit file_state for a create that skipped post-upload so
the next scan updates instead of re-creating
([#146](#146))
([f5230d1](f5230d1))
* **deps:** bump tauri-winrt-notification to drop vulnerable quick-xml
(closes [#89](#89))
([#129](#129))
([232fd8f](232fd8f))
* **telemetry:** exclude pre-schema rows from latency rollup
([#137](#137))
([1ae6220](1ae6220))
* **ui:** add cursor pointer to buttons and link-buttons
([#136](#136))
([dbd4809](dbd4809))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

chore: drop quick-xml RUSTSEC-2026-0194/0195 deny.toml ignores once upstream bumps quick-xml >=0.41

1 participant