Description
Type: security
Labels: security, dependencies, C-tracking
Source: discussion #3678
Summary
An initial cargo audit scan of Cargo.lock (Jul 18, 2026) surfaced known
vulnerabilities, unmaintained crates, and one unsound/yanked crate across the
transitive dependency graph. This issue tracks triage and remediation of each
advisory: upgrade where a fix exists, replace/remove unmaintained crates where
feasible, and record an accepted-risk ignore entry (with justification) where no
fix is available.
Affected area / component
Connectors
Proposed solution
Motivation
CVE management is a baseline requirement for enterprise-grade software (see the
Log4j fallout referenced in #3678). Iggy ships production binaries and multiple
SDKs; unpatched advisories in the dependency graph are shipped to every operator.
Remediating now, plus wiring the automated gate in the sibling issues, prevents
regressions.
References: https://rustsec.org/, https://rustsec.org/advisories/,
https://github.com/advisories, https://osv.dev/
Advisories from initial scan
Vulnerabilities (fix available)
| Crate |
Version |
Advisory |
Severity |
Fix |
| crossbeam-epoch |
0.9.18 |
RUSTSEC-2026-0204 — invalid pointer deref in fmt::Pointer for Atomic/Shared |
- |
upgrade >=0.9.20 |
| quick-xml |
0.37.5 |
RUSTSEC-2026-0195 — unbounded namespace-declaration alloc (memory-exhaustion DoS) |
7.5 high |
upgrade >=0.41.0 |
| quick-xml |
0.37.5 |
RUSTSEC-2026-0194 — quadratic run time on duplicate attribute-name check |
7.5 high |
upgrade >=0.41.0 |
| quick-xml |
0.38.4 |
RUSTSEC-2026-0195 |
7.5 high |
upgrade >=0.41.0 |
| quick-xml |
0.38.4 |
RUSTSEC-2026-0194 |
7.5 high |
upgrade >=0.41.0 |
| quick-xml |
0.39.4 |
RUSTSEC-2026-0195 |
7.5 high |
upgrade >=0.41.0 |
| quick-xml |
0.39.4 |
RUSTSEC-2026-0194 |
7.5 high |
upgrade >=0.41.0 |
Multiple quick-xml versions present (0.37.5 / 0.38.4 / 0.39.4) indicate
duplicate versions pulled by different dependents. Consolidate to a single
>=0.41.0 where possible.
Vulnerabilities (no fix available — accept-risk with justification)
| Crate |
Version |
Advisory |
Severity |
Note |
| rsa |
0.9.10 |
RUSTSEC-2023-0071 — Marvin Attack, key recovery via timing sidechannel |
5.9 medium |
no fixed upgrade available; document exposure + ignore entry |
Unmaintained / unsound / yanked warnings
Scope / tasks
Acceptance criteria
cargo audit passes, or every remaining finding has a documented, justified ignore entry with an owner and review date.
- No duplicate
quick-xml versions remain in Cargo.lock (or duplication is justified).
- Fresh scan output attached to the issue showing before/after.
Related
- Enable
cargo deny in pre-merge checks (sibling issue).
- Make production binaries auditable via
cargo auditable (sibling issue).
Alternatives considered
No response
Contribution
Good first issue
Description
Type: security
Labels:
security,dependencies,C-trackingSource: discussion #3678
Summary
An initial
cargo auditscan ofCargo.lock(Jul 18, 2026) surfaced knownvulnerabilities, unmaintained crates, and one unsound/yanked crate across the
transitive dependency graph. This issue tracks triage and remediation of each
advisory: upgrade where a fix exists, replace/remove unmaintained crates where
feasible, and record an accepted-risk ignore entry (with justification) where no
fix is available.
Affected area / component
Connectors
Proposed solution
Motivation
CVE management is a baseline requirement for enterprise-grade software (see the
Log4j fallout referenced in #3678). Iggy ships production binaries and multiple
SDKs; unpatched advisories in the dependency graph are shipped to every operator.
Remediating now, plus wiring the automated gate in the sibling issues, prevents
regressions.
References: https://rustsec.org/, https://rustsec.org/advisories/,
https://github.com/advisories, https://osv.dev/
Advisories from initial scan
Vulnerabilities (fix available)
fmt::PointerforAtomic/Shared>=0.9.20>=0.41.0>=0.41.0>=0.41.0>=0.41.0>=0.41.0>=0.41.0Multiple
quick-xmlversions present (0.37.5 / 0.38.4 / 0.39.4) indicateduplicate versions pulled by different dependents. Consolidate to a single
>=0.41.0where possible.Vulnerabilities (no fix available — accept-risk with justification)
Unmaintained / unsound / yanked warnings
Error::downcast_mut()Scope / tasks
cargo auditon currentCargo.lock, attach fresh output.crossbeam-epochto>=0.9.20.quick-xmlto>=0.41.0; remove duplicate versions.anyhowpast the unsounddowncast_mut()(patched release).spinyanked pin with a valid release.rsa(no fix): document exposure (is timing sidechannel reachable in Iggy's threat model?) and add an[advisories] ignoreentry with a comment + review date.deny.toml(coordinate with the cargo-deny gate issue).Acceptance criteria
cargo auditpasses, or every remaining finding has a documented, justified ignore entry with an owner and review date.quick-xmlversions remain inCargo.lock(or duplication is justified).Related
cargo denyin pre-merge checks (sibling issue).cargo auditable(sibling issue).Alternatives considered
No response
Contribution
Good first issue