Repository navigation
deny: ignore the three zstd advisories until wreq-util releases zstd 0.14.3 - #61
Closed
rubas-agent[bot] wants to merge 1 commit into
Closed
rubas-agent[bot] wants to merge 1 commit into
rubas-agent[bot] wants to merge 1 commit into
Conversation
…0.14.3 wreq-util 0.2.0 needs zstd ^0.13.3, so cargo update cannot reach the fixed versions. Its calls reach none of the affected functions.
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before
task deps:denyfails onmainand on every PR since RustSec published the zstd advisories on 2026-10-26 (run 40376822315):Problem
The fix is in zstd 0.14.3 and zstd-safe 8.2.0, but we cannot update.
zstd0.13.3 comes in only throughwreq-util0.2.0, and that release, the newest on crates.io, needszstd ^0.13.3.cargo update -p zstdlocks 0 packages. Upstream has the bump in the open Dependabot PR 0x676e67/wreq-util#130, which passes its CI but has no release.Our build does not reach the vulnerable code.
wreq-utiluses zstd only for TLS certificate compression, throughzstd::stream::write::Encoder::newandzstd::stream::read::Decoder::new:raw::Encoder::with_context,raw::Decoder::with_contextzstd_safe::seekable::*seekablefeature is off.DCtx::decompress_streamthroughstream::write::Decoderread::Decoderis not affected.After
deny.tomlignores the three IDs, each with its reason, under aTODO(revert)that names the upstream PR.task cipasses:When a
wreq-utilrelease moves us to zstd 0.14.3, cargo-deny printswarning[advisory-not-detected]for each ignore, so the list does not stay behind unseen.Details
The chain is
kagi>wreq-util 0.2.0(default featureemulation) >zstd 0.13.3>zstd-safe 7.3.0.cargo tree -e features -i zstd-safe@7.3.0shows the featuresarrays,legacy,std, andzdict_builder, and noseekable. The calls are inwreq-utilsrc/emulate/compress.rs,ZstdCompressor::compressandZstdCompressor::decompress. In zstd 0.13.3,zstd::stream::Encoderandzstd::stream::Decoderare thewrite::Encoderandread::Decoder, and theirnewgoes throughwith_dictionary, notwith_context.zstd-safe 7.3.0 also has 10
unsoundadvisories (RUSTSEC-2026-0395 to 0406 without 0398 and 0403). cargo-deny does not fail on them for a transitive crate, and the samewreq-utilrelease fixes them.A git patch of
wreq-utilwas the other option. It needsallow-gitindeny.toml, and it brings the unreleased upstreammain, with new impersonation profiles and awreqgit pin, into our release build.I checked
zstdandzstd-safein all our Rust repos.rubas/babelalready has zstd 0.14.3, andrubas/cloaked_reqgets the same ignore for its nightlycargo audit.task cipasses in the worktree. I also checked that an ignore for an ID that does not match giveswarning[advisory-not-detected].