This repository has been archived by the owner on May 5, 2024. It is now read-only.
Update Rust crate prost to 0.6.0 [SECURITY] #79
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.
This PR contains the following updates:
0.5.0
->0.6.0
GitHub Vulnerability Alerts
CVE-2020-35858
Affected versions of this crate contained a bug in which decoding untrusted input could overflow the stack. On architectures with stack probes (like x86), this can be used for denial of service attacks, while on architectures without stack probes (like ARM) overflowing the stack is unsound and can result in potential memory corruption (or even RCE).
Release Notes
tokio-rs/prost (prost)
v0.6.1
Compare Source
PROST! is a Protocol Buffers implementation for the Rust Language.
prost
generates simple, idiomatic Rust code fromproto2
andproto3
files.prost
0.6.1 fixes a bug in which decoding untrusted input could overflow the stack. The bug was reported by @dbrgn in #267 (with an attached repro!), and fixed by @danburkert. The fix extended the same recursion limits introduced in #186 by @nrc (released in 0.6.0) to the logic which skips unknown fields during decoding, which became recursive when support was added for decoding groups (also released in 0.6.0). The 0.6.0 release of theprost
crates has been yanked from crates.io.Additionally, @koushiro updated the private dependencies of all
prost
crates to the latest versions.Many thanks to the generous contributors who have helped out since 0.6.0:
v0.6.0
Compare Source
PROST! is a Protocol Buffers implementation for the Rust Language.
prost
generates simple, idiomatic Rust code fromproto2
andproto3
files.prost
0.6.0 includes breaking changes:bytes
public dependency version is now0.5
.Timestamp
andDuration
types now implTryFrom
for theirstd::time
equivalents. The old inherenttry_from
methods have beenremoved.
resulting in a stack overflow. The limit is set to a nesting depth of 100, and
the limit can be disabled using a new
no-recursion-limit
Cargo feature.As well as many new (non-breaking) features and improvements:
full set of upstream message encoding and decoding benchmarks.
message encoding and decoding.
byteorder
.ServiceGenerator::finalize_package
, which is useful foradvanced service generators.
.proto files without a package specifier.
bytes
crate, which means applications which use
prost
code generation are nolonger required to declare a
bytes
dependency.syn
,quote
, andproc-macro2
to stableversions.
prost-build
so that it no longer writes .rs files when theyare unchanged, which improves working with tools like
cargo watch
incodebases with
prost
code generation.failure
withanyhow
.protoc
version to 3.11.2.Many thanks to the generous contributors who have helped out since 0.5.0:
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.