Skip to content

Commit a8a6e2d

Browse files
authored
chore: resolve RustSec advisory sweep breaking security gate (#208)
RUSTSEC-2026-0204 (crossbeam-epoch 0.9.18, invalid pointer deref in fmt::Pointer): real fix available — cargo update to 0.9.20. Dev-only chain via criterion -> rayon. RUSTSEC-2026-0194 / RUSTSEC-2026-0195 (quick-xml 0.26.0 DoS): no fix reachable — pinned by pprof 0.15 -> inferno 0.11, and pprof (latest) cannot take inferno 0.12. Dev-only profiling stack, never shipped in the wheel, so ignore in both cargo-deny and audit-check with removal condition documented (pprof release with inferno >= 0.12). These advisories landed in the RustSec DB after 0.11.1 and fail every fresh CI run regardless of diff (first seen on #206).
1 parent c90280b commit a8a6e2d

3 files changed

Lines changed: 14 additions & 4 deletions

File tree

‎.github/workflows/security-fast.yml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ jobs:
3232
- uses: rustsec/audit-check@69366f33c96575abad1ee0dba8212993eecbe998 # v2
3333
with:
3434
token: ${{ secrets.GITHUB_TOKEN }}
35+
# quick-xml DoS advisories: dev-only via pprof->inferno, no upgrade path.
36+
# Keep in sync with deny.toml [advisories].ignore.
37+
ignore: RUSTSEC-2026-0194,RUSTSEC-2026-0195
3538

3639
cargo-deny:
3740
name: License & Supply Chain

‎Cargo.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎deny.toml‎

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,15 @@ all-features = true
2424
# Check all workspace crates for unmaintained dependencies
2525
unmaintained = "workspace"
2626

27-
# No initial exemptions - all vulnerabilities must be addressed
28-
ignore = []
27+
# Exemptions require a reason and are re-checked whenever the parent dep updates.
28+
# quick-xml 0.26 is pinned by pprof 0.15 -> inferno 0.11 (dev-only profiling/flamegraph
29+
# stack, never shipped in the wheel). No patched quick-xml exists on the 0.26 line and
30+
# pprof 0.15 (latest) cannot take inferno 0.12. Remove when pprof releases with inferno >= 0.12.
31+
# Keep in sync with the audit-check ignore list in .github/workflows/security-fast.yml.
32+
ignore = [
33+
{ id = "RUSTSEC-2026-0194", reason = "quick-xml DoS (quadratic attr check); dev-only via pprof->inferno, no upgrade path yet" },
34+
{ id = "RUSTSEC-2026-0195", reason = "quick-xml DoS (unbounded ns alloc); dev-only via pprof->inferno, no upgrade path yet" },
35+
]
2936

3037
# ═══════════════════════════════════════════════════════════════
3138
# LICENSES - License Policy Enforcement

0 commit comments

Comments
 (0)