Skip to content

chore(ci): known-accepted list for 2 quick-xml CVEs pending upstream#207

Merged
EVWorth merged 1 commit into
mainfrom
chore/cargo-audit-known-accepted
Jul 19, 2026
Merged

chore(ci): known-accepted list for 2 quick-xml CVEs pending upstream#207
EVWorth merged 1 commit into
mainfrom
chore/cargo-audit-known-accepted

Conversation

@EVWorth

@EVWorth EVWorth commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a small, documented "known-accepted" mechanism to scripts/cargo-audit-check.sh so the cargo-audit CI gate stops being permanently red on 2 quick-xml real CVEs that are blocked by upstream.

Why

The 2 quick-xml advisories (RUSTSEC-2026-0194, RUSTSEC-2026-0195) come from wayland-scanner 0.31.10 constraining quick-xml = "0.39". The fix is already committed upstream:

  • wayland-rs PR #938 (MarijnS95, merged 2026-07-08): "wayland-scanner: Bump quick-xml dependency to 0.41"
  • Currently on master, NOT YET on crates.io — waiting for next wayland-rs release

When upstream publishes, dependabot will offer the bump; remove the 2 IDs from the KNOWN_ACCEPTED array, commit, push. CI gate goes green naturally.

Why this is different from the original --ignore approach (#188, killed)

Aspect #188 (killed) This PR
Advisories silenced 28 2 (scoped to known upstream-pending)
Header documentation None Full rationale + tracking link
Job output Hidden (passes silently) "WAITING FOR UPSTREAM" header lists them + rationale
GitHub Step Summary None Includes "Known-accepted vulnerabilities" section
Tracking No issue #206
Cleanup mechanism "Manually edit ignore block when upstream ships" Same, but scripted, documented, and single-purpose

The original 17 gtk-rs chain + glib unsound + unic-* advisories remain in the "warnings" bucket — visible in output, not blocking, not in KNOWN_ACCEPTED. Only the 2 quick-xml (which are REAL vulns, not warnings) are silenced, with full visibility into the why and when-to-clear.

Changes

scripts/cargo-audit-check.sh | 76 +, 15 -
  • New KNOWN_ACCEPTED array at top of script with 2 quick-xml IDs
  • New section in script header documenting the rationale + tracking link
  • cargo audit invocation now passes --ignore for each ID in the list
  • New "WAITING FOR UPSTREAM" output block echoes the list on every CI run
  • New "Known-accepted vulnerabilities" section in GitHub Step Summary

How to clear (when upstream ships)

  1. cargo update -p wayland-scanner (or dependabot does it)
  2. Verify with cargo audit from src-tauri/: no more RUSTSEC-2026-0194/0195
  3. Remove the 2 IDs from the KNOWN_ACCEPTED array in scripts/cargo-audit-check.sh
  4. Commit + push — CI gate goes green naturally
  5. Close Clear known-accepted quick-xml CVEs when wayland-rs ships fix #206

CI

  • Detection + scripts paths trigger cargo-audit-check run
  • Expected: pass, with "Known-accepted" section showing the 2 IDs
  • No actual code changes, only scripts/cargo-audit-check.sh

Related

The cargo-audit CI gate is currently red on 2 quick-xml real
vulnerabilities (RUSTSEC-2026-0194/0195). The fix exists upstream:

- wayland-rs PR #938 (MarijnS95, merged 2026-07-08):
  wayland-scanner: Bump quick-xml dependency to 0.41
- NOT YET RELEASED to crates.io (next wayland-rs release will include it)
- Master has the bump; subsequent unreleased work adds breaking
  enum changes so we can't patch to latest master

This commit adds a small, documented "known-accepted" mechanism
to scripts/cargo-audit-check.sh. Not a silent --ignore blanket —
the IDs are:

1. Listed in the script header with the upstream tracking link
2. Echoed in every CI job output under a "WAITING FOR UPSTREAM"
   header with the rationale
3. Listed in the GitHub Step Summary
4. Tracked in issue #206

When upstream publishes, dependabot will offer the bump. To
clear: remove the IDs from the KNOWN_ACCEPTED array, commit, push.
The cargo-audit gate goes green naturally.

Why this is different from the original #188 --ignore approach
that was killed:
- #188: 28 advisories hidden behind a single --ignore block, no
  documentation, no tracking issue
- This: 2 advisories, listed with full rationale, tracked, single
  purpose, scoped to a known upstream-pending fix

Refs: #206
@EVWorth EVWorth added documentation Improvements or additions to documentation dependencies Dependency updates labels Jul 19, 2026
@EVWorth
EVWorth merged commit 426bb9b into main Jul 19, 2026
11 checks passed
@EVWorth
EVWorth deleted the chore/cargo-audit-known-accepted branch July 19, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clear known-accepted quick-xml CVEs when wayland-rs ships fix

1 participant