Skip to content

Scan Cargo.lock with OSV-Scanner; bump xxhash-rust to 0.8.16 - #451

Merged
jadamcrain merged 1 commit into
mainfrom
osv-scanner-and-xxhash
Oct 9, 2026
Merged

jadamcrain merged 1 commit into
mainfrom
osv-scanner-and-xxhash

Conversation

@jadamcrain

Copy link
Copy Markdown
Member

Why

The SBOMs from #450 are scanned by tools like Trivy and OSV-Scanner, which flagged GHSA-6g2r-675j-hx59 in xxhash-rust 0.8.15. The security workflow didn't, because cargo audit only reads the RustSec database and this advisory, published by the maintainer as a GitHub security advisory, isn't in RustSec.

What

  • OSV-Scanner job in security-audit.yml: scans Cargo.lock against OSV, which aggregates RustSec and GitHub advisories. Same triggers as the cargo audit job (daily, push to main, PRs). Like that job, it takes the verdict from the JSON report, reports a run without a valid report as a tool failure rather than a finding, and uploads the report. The image is pinned by digest (ghcr.io/google/osv-scanner:v2.6.0).
  • xxhash-rust 0.8.15 → 0.8.16, which fixes the advisory. Only Cargo.lock changes; the license (BSL-1.0) is unchanged.

dnp3 was not affected: the advisory concerns the xxh3 custom-secret API, and dnp3 enables only the xxh64 feature, so that code isn't compiled.

Checked locally

  • OSV-Scanner on main's lockfile reports xxhash-rust 0.8.15: GHSA-6g2r-675j-hx59 and the job fails; on this branch it passes.
  • With no lockfile the job fails as a tool failure, not a finding.

Note

.cargo/audit.toml ignores RUSTSEC-2025-0055 (tracing-subscriber), but the lockfile has tracing-subscriber 0.3.23, which includes the fix, and OSV no longer reports it. That ignore entry looks stale; left unchanged here.

cargo-audit only reads the RustSec database, so advisories that crate
maintainers publish as GitHub security advisories can go unnoticed:
GHSA-6g2r-675j-hx59 in xxhash-rust 0.8.15 is not in RustSec. OSV covers
both. Add an OSV-Scanner job to the security workflow, with the same
triggers and the same report-parsing approach as the cargo-audit job.

Bump xxhash-rust to 0.8.16, which fixes that advisory. dnp3 was not
affected: the advisory is in the xxh3 custom-secret API, and dnp3 only
enables the xxh64 feature.
@jadamcrain
jadamcrain merged commit e5b23e2 into main Oct 9, 2026
34 checks passed
@jadamcrain
jadamcrain deleted the osv-scanner-and-xxhash branch October 9, 2026 22:48
jadamcrain added a commit to stepfunc/rodbus that referenced this pull request Oct 9, 2026
cargo-audit only reads the RustSec database, so advisories that crate
maintainers publish as GitHub security advisories can go unnoticed. OSV
covers both. Same job as dnp3's security workflow (stepfunc/dnp3#451).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant