Skip to content

Commit f6b4155

Browse files
doublegateclaude
andcommitted
chore(deny): ignore RUSTSEC-2026-0192 (ttf-parser unmaintained, transitive via winit)
The "Cargo Deny Check" CI gate went red on the advisories pass with RUSTSEC-2026-0192 — `ttf-parser` flagged unmaintained. This is an informational "unmaintained" advisory, NOT an exploitable vulnerability, on a purely transitive dependency the workspace cannot influence from its manifest: winit 0.30.13 -> sctk-adwaita -> ab_glyph -> owned_ttf_parser -> ttf-parser 0.25.1 ttf-parser 0.25.1 is already the latest release; the only way off it is for winit's Wayland client-side-decoration stack to drop ab_glyph, which is outside our control until a future winit bump. Crucially this is NOT introduced by the egui 0.34->0.35 bump in this PR: `main` carries the identical `ttf-parser 0.25.1`, and cargo-deny fetches the live RUSTSEC database at check time, so the freshly-published advisory fails equally on `main` — this PR is simply the first to re-run the security workflow (which is path-filtered to Cargo.toml/lock changes) after the advisory landed. Per deny.toml's own stated policy ("a real transitive advisory with no safe upgrade"), added RUSTSEC-2026-0192 to the `[advisories].ignore` list with a comprehensive comment recording the dependency chain, why it is safe (unmaintained != vulnerable), and the revisit condition (a winit bump that drops the ab_glyph/ttf-parser chain). `bans`/`licenses`/`sources` were already green and are unaffected; no real vulnerability is being suppressed. Verified locally: `cargo deny check` -> "advisories ok, bans ok, licenses ok, sources ok". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 068c422 commit f6b4155

1 file changed

Lines changed: 18 additions & 5 deletions

File tree

deny.toml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,24 @@ version = 2
66
db-path = "~/.cargo/advisory-db"
77
db-urls = ["https://github.com/rustsec/advisory-db"]
88
yanked = "deny"
9-
# No advisory ignores: the prior RUSTSEC-2024-0436 (`paste`, via the old wgpu
10-
# Metal backend) entry was dropped once the wgpu 29 / naga 29 bump removed
11-
# `metal` (and thus `paste`) from the tree. Keep this list empty unless a real
12-
# transitive advisory with no safe upgrade reappears.
13-
ignore = []
9+
# The prior RUSTSEC-2024-0436 (`paste`, via the old wgpu Metal backend) entry was
10+
# dropped once the wgpu 29 / naga 29 bump removed `metal` (and thus `paste`) from
11+
# the tree. Keep this list minimal — only "unmaintained"/"unsound" informational
12+
# advisories on transitive deps with no safe upgrade; never suppress a real
13+
# exploitable vulnerability.
14+
ignore = [
15+
# `ttf-parser` unmaintained. NOT a vulnerability — an informational
16+
# "unmaintained" advisory. It is a pure transitive dep of `winit` (which the
17+
# workspace pins at 0.30.13) via its Wayland client-side-decoration font
18+
# stack: winit -> sctk-adwaita -> ab_glyph -> owned_ttf_parser -> ttf-parser
19+
# 0.25.1 (already the latest release). There is no safe upgrade until winit's
20+
# decoration stack moves off ab_glyph, so this cannot be resolved from our
21+
# manifest. Surfaced first by the egui-0.35 PR only because it is the first
22+
# PR to re-run the security workflow after the advisory was published; `main`
23+
# carries the identical `ttf-parser 0.25.1` and is affected equally. Revisit
24+
# when a future winit bump drops the ab_glyph/ttf-parser chain.
25+
"RUSTSEC-2026-0192",
26+
]
1427

1528
[licenses]
1629
version = 2

0 commit comments

Comments
 (0)