Skip to content

fix: bump plist to 1.10.0, pulling patched quick-xml (RUSTSEC-2026-0194, -0195) - #2193

Open
albatrossflyon-coder wants to merge 1 commit into
dandavison:mainfrom
albatrossflyon-coder:fix/quick-xml-rustsec
Open

fix: bump plist to 1.10.0, pulling patched quick-xml (RUSTSEC-2026-0194, -0195)#2193
albatrossflyon-coder wants to merge 1 commit into
dandavison:mainfrom
albatrossflyon-coder:fix/quick-xml-rustsec

Conversation

@albatrossflyon-coder

Copy link
Copy Markdown
Contributor

Fixes #2183
Fixes #2184

quick-xml was locked at 0.32.0, pulled in transitively via syntect (delta's syntax-highlighting dependency, used to parse .plist-format theme files) → plist 1.7.0 → quick-xml 0.32.0.

Two RUSTSEC advisories affect quick-xml before 0.41.0:

  • RUSTSEC-2026-0194 — quadratic run time when checking a start tag for duplicate attribute names (CPU-exhaustion DoS)
  • RUSTSEC-2026-0195 — unbounded namespace-declaration allocation in NsReader (memory-exhaustion DoS)

Since syntect uses plist to parse theme files, this is a real attack surface if delta is ever pointed at an untrusted theme file — not just advisory-scanner noise.

plist 1.7.0's own dependency constraint caps quick-xml at 0.32.0, so a plain cargo update -p quick-xml can't reach the patched version. Bumping plist to 1.10.0 pulls in the patched quick-xml 0.41.0.

No source changes needed — Cargo.lock only. Verified:

  • cargo check --workspace — clean
  • cargo test --workspace — 414 passed, 8 ignored

quick-xml 0.32.0 was locked transitively via syntect -> plist 1.7.0.
Two RUSTSEC advisories affect versions before 0.41.0:

- RUSTSEC-2026-0194: quadratic run time checking start-tag attributes
  for duplicate names (CPU-exhaustion DoS)
- RUSTSEC-2026-0195: unbounded namespace-declaration allocation in
  NsReader (memory-exhaustion DoS)

syntect uses plist to parse .plist-format theme files, so this is a
real attack surface if delta ever processes an untrusted theme file,
not just advisory-scanner noise.

plist 1.7.0's own dependency constraint caps quick-xml at 0.32.0, so a
plain `cargo update -p quick-xml` cannot reach the patched version --
bumping plist to 1.10.0 is required. No source changes needed; full
workspace `cargo check` and `cargo test` both pass (414 tests).

Fixes dandavison#2183
Fixes dandavison#2184
@albatrossflyon-coder

Copy link
Copy Markdown
Contributor Author

Hi — just checking in on this one, it's been open about 7 days with no review yet. Happy to make any changes if there's feedback, or let me know if anything's blocking it. Thanks for maintaining delta!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant